我设置了“使用符号服务器”选项,只是为了确定加载了正确的符号,我删除了符号缓存。运行我的ASP.NET应用程序时,我看到弹出窗口告诉我正在下载符号。
我已禁用“仅我的代码”,并启用了“启用.NET Framework源代码”。在过去,这足以能够逐步执行.NET代码库。
当我使用IntelliTrace中断时,调用堆栈中的所有非用户代码都显示为灰色。检查模块窗口,例如System.Web.Dll和mscorlib“Symbols not loaded”对于System..dll和System.Xml.dll,它说“符号已加载”。
通常,您可以右键单击并选择“加载符号”,但这会显示为灰色。有什么想让这个再次起作用吗?
http://www.undermyhat.org/blog/wp-content/uploads/2011/03/Grayed-out-Load-Symbols.png
答案 0 :(得分:2)
因为符号加载可能是slllloowww并且您并不总是对每个符号表感兴趣,所以可以选择手动加载特定符号表。灰色的原因是因为您自动加载它们。这是一个手动设置和启用选项的屏幕截图。
为了进入这种状态,我设置了我的符号设置以加载所有符号除外,我将NHibernate添加到列表中。当我打破NHibernate时,符号会变灰并且可以手动加载:
然后我可以选择加载它们:
答案 1 :(得分:2)
Ritch's answer指出了我正确的方向,但它不是解决方案。以下是发生的事情:
在IntelliTrace的历史事件中单击“调用堆栈”时,将显示堆栈跟踪。通常,在堆栈跟踪中,您可以右键单击并加载符号,但是:
说实话,我发现Visual Studio的行为相对不明确。在过去,我显然很幸运能够正确设置设置。这不是"它只是工作",但只有当你精心完成正确的程序,它才能按预期工作。