可能重复:
调试模式中不存在发布版本中的错误的常见原因
有时我会遇到这样一种奇怪的情况,即程序在正常运行时运行不正确,它会弹出终止对话框,但是在调试时正确.当我想使用调试器查找代码中的错误时,这确实让我很沮丧.
你有没有见过这种情况,为什么?
更新:
为了证明有逻辑原因会导致如此令人沮丧的情况:
我认为一个很大的可能性是堆访问volidation.我曾经编写了一个分配一个小缓冲区的函数,但后来我走出了boudary.It将在gdb,cdb等中正确运行(我不知道为什么,但它确实运行正确);但正常运行时异常终止.
我正在使用C++.
我不认为我的问题与上述问题重复.
那个是发布模式和调试模式之间的比较,但我的是在调试和不调试之间,它有一个单词heisenbug,正如许多其他人所指出的那样.
谢谢.