Visual Studio 2012在调试期间随机超时?

时间:2012-10-18 15:38:46

标签: .net visual-studio debugging visual-studio-2012 visual-studio-debugging

我有一个Visual Studio 2012项目,我做了很多调试。每隔一段时间(每天多次),我将进行调试,Visual Studio将随机扼杀5-10秒。之后,我无法评估任何变量的值(通过变量,它会说function evaluation timed out)并且单步执行不起作用。我唯一能做的就是重启调试。

但这是一个非常随机的问题。有时它会在我长时间调试15分钟时发生......有时它会发生在我遇到的第一个断点上。大多数时候,Visual Studio 2012都可以运行......它只是时不时地出现这个奇怪的问题。我不知道如何重现它。它不仅仅与一种类型的对象相关联,甚至与一个项目无关。此外,我可以在VS2010中打开相同的项目,我从来没有遇到过这种问题

其他地方是否有这个问题?有没有人知道我可以采取哪些额外的配置来防止这种烦恼发生?

1 个答案:

答案 0 :(得分:0)

自从2005年以来每个Visual Studio版本(仍然使用VS 2013 Update 3),这个错误让我发疯!在我的情况下,超时发生后,进程将无法正常继续(当前执行的线程死亡),当您想要分离VS时,它只允许您在终止进程时执行此操作。

我对此问题没有真正的解决办法,但多年来我发现了以下可能对您有所帮助:

  • 这个错误更有可能发生在大&复杂的程序。
  • 多线程更有可能发生。
  • 您越走越代码的可能性就越大。在某个地方放置一个断点并按F5跳转到那里要比一路踩到那个地方要好。
  • 当它发生时,不要试图在代码中继续前进,它将随机跳转到任何地方,然后在下一步,线程死亡。就我而言,大多数时候只重新启动程序会有所帮助。
  • 尝试删除/禁用断点。您拥有的活动断点越多,风险就越高。条件断点特别“有风险”。
  • 尽可能尝试关闭所有带有监视变量的窗口(Autos,Locals,Watch窗口)。
  • 当您需要观察窗口时,从中删除所有不需要的变量。评估的变量越多,挂起的风险就越高。
  • 取消选中工具 - >选项 - >调试 - >一般 - >启用属性评估 ...这是防止此错误的最有效方法。但是,它使调试器对我来说无法使用,所以我不想使用它。
  • [仅限VS 2013:] 尝试启用工具 - >选项 - >调试 - >一般 - >使用托管兼容模式。这将使VS 2012中的调试行为能够更加强大,至少在VS 2013中修复问题之前。