为什么有些程序在使用调试器时可以工作,但在运行正常的调试执行时却不能工作?

xcd*_*n05 5 windows crash debugging visual-studio-2010

我曾经有过几次使用 Visual Studio 和其他东西编写程序的情况,在换行符的某个地方。当然,我的第一个想法是在程序的早期设置一个断点,然后缓慢地逐行单步执行代码,直到出现错误。

但很多时候,我发现在调试器中缓慢单步执行代码时一切正常。但是,当我尝试在没有断点的情况下运行程序时,就会出现问题。

为什么会出现这种情况?逐行单步执行代码实际上与仅在调试模式下运行程序不同吗?

(我不是在谈论调试与发布,而是在谈论调试与逐行调试)

Dan*_*ark 4

原因之一可能是多个执行线程之间存在计时问题,当程序“全速”运行和在调试器中暂停线程时,这些问题会发生不同的情况。