10

我继承了一个庞大而陈旧的代码库,我正在经历一种我从未见过的行为。有时,在调试时,如果我在 Watch 窗口中浏览对象或集合,调试器会挂起。它始终是相同的位置、相同的对象类型等。大约 15 秒后,Visual Studio 回到我身边,但调试器不再工作,直到我重新启动调试会话。当我停止调试器时,我得到:

"Cannot detach from one or more processes: [6088] w3wp.exe: 
All outstanding func-evals have not completed, detaching is not allowed 
at this time."

我必须终止该过程才能继续。

我已经阅读了足够多的关于这个问题的理论,认为它与线程有关,但那是我头上的几英尺。我想知道是否有人遇到过这种情况,如何找出具体问题,最重要的是如何预防。我什至会采取一个解决方案来阻止调试器进入该分支,以免破坏我的调试器,因为这很烦人。

欢迎任何和所有的建议。由于工作要求,我不能分享很多代码。

4

1 回答 1

0

这可能是由您尝试调用的代码中的无限递归/循环引起的,但您可以通过使用此处命名空间中的一些“调试器...”属性来绕过该问题:System.Diagnostics which告诉调试器不要进入等。

于 2013-03-05T14:21:28.843 回答