c# - Visual Studio 调试器挂起,无法从 w3wp 分离

标签 c# visual-studio-2012 visual-studio-debugging freeze

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

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

而且我必须终止进程才能继续。

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

欢迎提出任何建议。由于工作需要,我无法分享太多代码。

最佳答案

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

关于c# - Visual Studio 调试器挂起,无法从 w3wp 分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15226078/

相关文章:

c# - Visual Studio Profiler 显示 DLL 名称而不是函数名称

c# - 使用 MeasureString 时出现 "A generic error occurred in GDI+"

c# - 展平可能包含数组的对象数组

c# - 用于在大型 .cs 文件中查找事件处理程序的正则表达式

c# - 在 Windows 8 应用程序中用手指触摸滚动列表框的问题

c# - VS 2010 - 输出窗口 - 如何启用 "find message in code"按钮?

c# - 称为抑制 Debug.WriteLine 和 Trace.WriteLine 的单元测试代码

asp.net-mvc - Visual Studio 断点未被命中

c# - 变量声明的区别 var 与 cast or

c# - 如何编写 Linq 查询代码以进行向上包含?