Visual Studio调试时出现break all错误

8

我有一个解决方案,客户端和服务器都在运行,并且有许多项目,我的解决方案中前端是Silverlight。 当代码正在运行时,我按下“中断所有”并期望停止在当前运行的代码行。相反,我收到“无可用源,当前位置没有可用的源代码”的消息。 这个问题的解决方法是什么? 请注意,无论执行哪个部分,每当我中断所有操作时都会出现此问题。标准断点可以停止。

1个回答

4
这听起来像是标准行为...请记住,幕后有框架dll(ntdll.dll / windowsbase.dll / presentationframework.dll等)在进行其魔法(监听消息泵,与操作系统交互等)。 因此,大多数情况下,当你“中断所有”时,你有很大的机会陷入它们之一。您可以打开“调用堆栈”窗口并查看自己的位置(您可能需要右键单击并“显示外部代码”)...有时您也可以在其中看到特定的方法调用... 在您的代码中设置断点并停止通常是停止与您的应用程序相关的方法的正确方法。

4
在之前的工作中,我几乎每天都会使用“断点全停”来实现OP所希望的和你们所描述的非标准行为。基本上,你可以启动“断点全停”模式,然后只要你以一种导致执行经过你的代码(即不是框架和第三方DLL)与应用程序交互的方式,它就会暂停。实际上,这就像在你自己的代码的每一行上放置一个断点,然后启动调试器。现在我换了一份工作,行为就像OP所描述的那样。我如何才能重新回到我曾经拥有的那种情况? - bubbleking

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