我继承了一个庞大而陈旧的代码库,我正在经历一种我从未见过的行为。有时,在调试时,如果我在 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."
我必须终止该过程才能继续。
我已经阅读了足够多的关于这个问题的理论,认为它与线程有关,但那是我头上的几英尺。我想知道是否有人遇到过这种情况,如何找出具体问题,最重要的是如何预防。我什至会采取一个解决方案来阻止调试器进入该分支,以免破坏我的调试器,因为这很烦人。
欢迎任何和所有的建议。由于工作要求,我不能分享很多代码。