Visual Studio 中断点行为异常

3
我在使用Visual Studio版本9.0.30729.1和.NET 3.1时,遇到了两个调试器问题。
问题一:我设置了断点,但按F10或F11不会跳转到下一条指令。如果我反复按F10,最终可能会跳转到下一条指令。我可以在代码中放置另一个断点并使用F5到达下一个断点,但我错过了单步执行的能力。
问题二:我设置了第一个断点,使用F5或F10后程序继续运行而没有停止。
这些问题似乎是随机发生的。有时,如果我关闭Visual Studio并重新启动计算机,问题会自行解决,但并非总是如此。这在我的单元测试中不太容易发生,但在GUI应用程序中则经常出现。
非常感谢您提供任何想法。
5个回答

2

你的程序中有很多线程吗?可能会出现线程1中断,你停下来,线程2在与线程1相同的点中断


我确实有许多线程。但我要中断的线程是GUI线程。(我的意思是,我正在响应Gui中的用户操作)。不确定另一个线程如何进入该代码。 - John Chenault
这种情况肯定发生过。点击“步进”按钮,却看到自己跳转到完全不同的代码行,这似乎很奇怪,但那是另一个线程跳转到的地方。 - C. Ross
哦 - 而且我在锁定语句中看到过这个,所以感觉像是其他东西。 - John Chenault
尝试在工具栏中打开当前线程显示,只是为了好玩。你可能是对的,它可能不是那个问题,但确定起来并不难。 - Matt Briggs

1

在启动调试器后,请确保源代码没有发生更改...


源代码没有改变。我可以进行完全的清理/重建,行为没有变化。 - John Chenault

1

只是为了好玩,试着关闭仅限我的代码。在(工具->选项->调试器->常规)下取消选择“仅限我的代码...”选项。

仅限我的代码可能会在您不一定预期的情况下导致奇怪的行为。


0
确保你的 .pdb 文件是最新的,否则你调试的源代码和运行的源代码可能不匹配。

.pdb文件中的日期似乎与最后一次构建相匹配。 - John Chenault

0

尝试通过删除(重命名)Visual Studio生成的所有文件(*.ncb,*.suo,obj /,bin /等)来清理解决方案目录。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接