为什么 Visual Studio 中的 F10(逐过程)不起作用?

17

我正在使用Visual Studio 2008调试一个(web)项目。 我已经到达了一个断点。 按下F10可以继续到下一行,就像预期的一样,但是下一个F10却停止了调试,代码继续执行而不进行任何调试(就像按下F5一样)。 这是为什么呢?

  • 我尝试过'清除解决方案'。
  • 其他断点有时候(!)被跳过,甚至在同一个方法中也是如此。

有什么线索吗?


请确保您的代码可访问。 - Ada
8个回答

19

可能是因为您的计算机上没有安装Visual Studio 2008的更新程序kb957912导致的此问题。

在我的计算机上安装了此更新程序后,问题得到了解决。


谢谢!我会安装并回报。 - edosoft
问题已经被我解决了,非常感激。 - Arne Claassen
2
这是修复程序的链接(Visual Studio 2008)http://code.msdn.microsoft.com/KB957912 - adambox
对我来说也很有效。我是在新安装的Win7系统中重新安装VS2008后才注意到它的存在,我猜以前的机器上没有安装SP1?无论如何。 - vgru

12

确保您处于调试模式而不是发布模式。


1

如果不了解您的应用程序,很难说,但通常这种情况发生在进程启动线程或进入没有任何调试信息的代码时。


0

我在开发一个在我的本地机器上运行的Web应用程序时遇到了这个问题。我发现打开任务管理器并终止进程(w3wp),然后再次尝试可以暂时解决问题。


0

在执行相关指令时可能会出现异常情况。尝试启用所有异常以进入调试器并进行检查。


0

听起来你的调试设置可能是默认的。如果你去: 工具
- 选项 - 调试 在“常规”部分下面有一个选项叫“启用仅本代码”,默认情况下它已被选中,但如果你取消勾选,就可以跟踪到你想查看的代码。

如果不了解更多有关你的项目和引用代码的信息,这就是我猜测为什么你无法进入代码的最佳答案。

希望对你有所帮助。 Rihan


0

F10 是“步过”功能。这意味着当前方法调用的任何方法都不会在调试器中显示。如果这些方法抛出未捕获的异常或以某种方式结束执行,调试将会终止,这就是您所遇到的情况。

通常情况下,当逐步执行代码时,F11(步入)是更好的选择。


3
他并没有说他想要介入 - 他说他想越过去。说 F11 比 F10 好就不对了。 - TheSoftwareJedi
1
@TheSoftwareJedi: 真的吗?你读了问题标题吗?“为什么Visual Studio中的F10(继续)不起作用?”原因是因为F10并不是Continue。 - Powerlord
不确定为什么单步调试更好。我的情况是TS,F10和F11都不起作用。 - Vitaliy
我现在需要10或11个。它跳过了许多,与此无关。我已经在屏幕上使用了命令,并进行了一些检查。 - logixologist

0

可能是在线程中跨越了上次执行的代码,或者以某种方式返回到UI线程。 如果它是GUI应用程序,请尝试做一些调用事件处理程序的操作,看看是否会在下一次执行时出现错误。


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