비주얼 스튜디오 커뮤니티 버전 쓰는데 버그 너무많아서 짜증나네요 :(

익명 사용자의 이미지

메모리 다루는 프로그램을 주로 만드는데... 버그가 너무 많아요
예를들어 같은 이름의 전역변수가 각각 다른 주소를 가지고 있다든지 함수를 cdecl로 선언했는데 std call 을 쓴다던지...

버그가 너무많네요 ㅡㅡ
다른 컴파일러 찾아봐야할 까요?? 아니면 무료라서 이렇게 버그가 많은건지...
아니면 제가 프로그래밍을 제대로 못했다든지... -_-;;

웃기는건 같은 프로그램 쓰는 사람들이 저랑 같은 현상이 있다는거죠
전역변수가 각각 다른 주소를 가지고 있어서 바이너리 손으로 패치한다고 죽는줄 알았습니다... 에휴

:(의 이미지

알아보니 cdecl, std call 모두 무시되는거였군염 -_-
근데 전역변수 문제는 왜 그랬는지 모르겠네요

DarkSide의 이미지

같은 이름의 전역변수가 각각 다른 주소를 가지고 있다?
같은 이름의 전역 변수를 여러 개 선언했다는 말인지...

일단 프로그램을 정확히 짜 놓고 남 탓을 해야 할 겁니다.

글쓴이의 이미지

이게 좀 되서 소스코드 찾기가 조금 어려운데.
그 구조체의 사이즈는 30바이트 넘었을 겁니다.
만약 같은 이름의 다른 전역변수였다면 30바이트 이상 거리가 떨어져 있었겠죠..

근데 웃기게도 1바이트 떨어져있거나, 2, 4, 8 떨어져있는 경우도 있었고
거리는 계속 바뀌어서 예측할 수 없었어요

그냥 전역변수를 안쓰겠습니다 :(

 의 이미지

컴파일러에 버그가 없다고 단정지을 수 있는 건 아닙니다.

하지만 만약 프로그래머의 의도와 다른 결과가 나오고 있다면, 가장 먼저 의심해 보아야 할 건 당연히 방금 작성된 그 프로그램입니다.

아닌 게 아니라, 헤더 파일에다가 internal linkage를 가지도록 전역변수를 정의해 놓고서는 왜 각 소스코드 파일마다 다른 전역변수를 참조하게 만들었느냐고 되려 역정을 부리는 초보 프로그래머들을 종종 볼 수 있습니다. 버그가 컴파일러가 아닌 의자와 키보드 사이에 있는 경우이지요.(https://en.wiktionary.org/wiki/PEBCAK)

어쨌든, 정말로 컴파일러에 문제가 있을 가능성이 없진 않으니 혹시 해당 문제를 재현할 수 있는 소스코드 예제를 제공해주실 수 있으신지요. 저도 무척 관심이 있습니다.

글쓴이의 이미지

위에 답글을 봐주세요

 의 이미지

상당수의 음모론이나 도시전설들은 그게 진실이든 거짓이든 우리 삶에 하등 영향을 주지 않는 식으로 발달해 왔지요. 과거의 막연한 시점에 단 한 번 관찰되었다던가 진실을 은폐하려는 초월적인 누군가가 있다거나.

생각해보면 당연한 일입니다. 그러지 않는다면 진위여부를 판별할 수 있는 실험을 금방 구상해 볼 수 있으니까요.

그런 의미에서 귀하의 문제제기는 더더욱 신빙성이 떨어집니다. 비주얼 스튜디오 커뮤니티 버전을 혼자만 쓰고 계신 건 아닐 텐데, 정말로 버그가 그렇게나 많다면 많은 사람들이 비슷한 문제를 겪고 있지 않겠습니까? 그 중 누군가는 버그를 재현할 수 있는 소스 코드를 들고 와서 공론화를 할 수 있을 테고요.

그러니 만약 제가 널리 쓰이는 프로그램에 근거 없이 의혹제기를 하는 형편이라면, 남들이 저를 믿어 주지 않는다 해도 별로 아쉽지는 않을 것 같네요. 귀하께서도 그렇게 생각하시리라고 믿습니다.

익명 사용자의 이미지

커뮤니티 버전은 상용 버전에서 일부 기능이 빠진 것일 뿐 내용 자체는 동일합니다.
수백만 줄에 달하는 오피스, 포토샵 같은 프로그램들이 이 툴을 사용하여 개발되고 있죠.

개인적으로 비주얼스튜디오를 좋아하지는 않지만, 많은 일급 프로그래머들이 사용하고 있는 프로그램입니다.
자신의 실력을 뒤돌아 보지 않고 툴을 탓하는 것은 좋은 행동이 아닙니다.

익명 사용자의 이미지

커뮤니티 버전은 상용 버전에서 일부 기능이 빠진 것일 뿐 내용 자체는 동일합니다.
수백만 줄에 달하는 오피스, 포토샵 같은 프로그램들이 이 툴을 사용하여 개발되고 있죠.

개인적으로 비주얼스튜디오를 좋아하지는 않지만, 많은 일급 프로그래머들이 사용하고 있는 프로그램입니다.
자신의 실력을 뒤돌아 보지 않고 툴을 탓하는 것은 좋은 행동이 아닙니다.

익명 사용자의 이미지

????? 컴파일하고 디버깅해서 보니까 잘못된 주소를 가지고 있다고 정확히 확인을하고
동료가 프로그래밍한 프로그램에서도 동일한 버그가 있었다는데 실력이랑 무슨 관계인지..

아니면 제가 위에서 말한 메모리에 대해 전혀 모르는 프로그래머이신가?? ㅎㅎ

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.