我继承了一个庞大而古老的代码库,遇到了我从未见过的问题。有时候在调试过程中,如果我正在浏览“监视”窗口中的对象或集合,调试器会挂起。它总是在相同的位置、相同的对象类型等情况下出现。约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."
我必须终止进程才能继续。
我已经阅读了足够多的关于这个问题的内容,推测它与线程有关,但这超出了我的能力范围。我想知道是否有人遇到过这种情况,如何找出具体问题,最重要的是如何预防它。我甚至可以接受一种解决方案,即阻止调试器进入该分支,以免破坏我的调试器,因为这非常令人恼火。
欢迎任何建议。由于工作要求,我无法分享太多代码。