无法加载符号,或中断核心程序集,加载符号选项呈灰色
我设置了选项“使用符号服务器”,为了确保加载了正确的符号,我删除了符号缓存。当运行我的 ASP.NET 应用程序时,我看到弹出窗口告诉我正在下载符号。
我已禁用“仅我的代码”,并启用“启用 .NET Framework 源步进”。在过去,这足以单步执行 .NET 代码库。
当我中断使用 IntelliTrace 时,调用堆栈中的所有非用户代码都会变灰。检查模块窗口,例如,对于 System.Web.Dll 和 mscorlib,它显示“符号未加载”;对于 System..dll 和 System.Xml.dll,它显示“符号已加载”。
通常您可以右键单击并选择“加载符号”,但此选项呈灰色。有什么想法可以让它再次运行吗?
http://www.undermyhat.org/blog/ wp-content/uploads/2011/03/Grayed-out-Load-Symbols.png
I've set the options "Use symbol server" and just to be certain the correct symbols were loaded, I removed the symbol cache. When running my ASP.NET application I saw the popup telling me the symbols were being downloaded.
I've disabled "Just my code", and enabled "Enable .NET Framework source stepping". In the past this was enough to be able to step through .NET code libraries.
When I break using IntelliTrace, all non-usercode in the call stack is greyed out. Checking the modules-window it says for instance for System.Web.Dll and mscorlib "Symbols not loaded" for System..dll and System.Xml.dll it says "Symbols loaded".
Normally you can then right-click and select "Load symbols", but this is grayed out. Any idea to get this working again?
http://www.undermyhat.org/blog/wp-content/uploads/2011/03/Grayed-out-Load-Symbols.png
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
由于符号加载可能会很麻烦,并且您并不总是对每个符号表感兴趣,因此可以选择手动加载特定符号表。变灰的原因是因为您正在自动加载它们。这是手动设置并启用该选项的屏幕截图。
要进入此状态,我将符号设置设置为加载所有符号除外,我将 NHibernate 添加到列表中。当我闯入 NHibernate 时,符号显示为灰色,可以手动加载:
然后我可以选择加载它们:
Because Symbol loading can be slllloowww and you aren't always interested in every symbol table, there's an option to Load a particular one manually. The reason that is greyed out is because you are loading them automatically. Here's a screen shot with manual set and the option enabled.
To get in this state, I setup my Symbol Settings to load all symbols Except, and I added NHibernate to the list. When I break in NHibernate, the Symbols are greyed out and can be loaded manually:
I then I have the option to load them:
里奇的回答 为我指明了正确的方向,但这不是解决方案。发生的情况如下:
当您单击 IntelliTrace 历史事件中的“调用堆栈”时,这将显示堆栈跟踪。通常,在堆栈跟踪中,您可以右键单击并加载符号,但是:
老实说,我发现 Visual Studio 的这种行为相对不清楚。过去,我显然很幸运能够正确设置设置。这并不是“它就可以工作”,而是只有当你仔细地执行正确的程序时,它才会按预期工作。
Ritch's answer pointed me in the right direction, but it wasn't the solution. Here's what was happening:
When you click Call Stack in a history-event of IntelliTrace, this will show the stack-trace. Normally, in a stack-trace you can right-click and load symbols, however:
To be honest, I find this relatively unclear behavior of Visual Studio. In the past, I apparently was lucky enough to have the settings set correctly. This is not "it just works", but only if you meticulously go through the correct procedure, it'll work as expected.