无法加载符号,或中断核心程序集,加载符号选项呈灰色

发布于 2024-10-20 11:03:22 字数 540 浏览 2 评论 0原文

我设置了选项“使用符号服务器”,为了确保加载了正确的符号,我删除了符号缓存。当运行我的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

や三分注定 2024-10-27 11:03:22

由于符号加载可能会很麻烦,并且您并不总是对每个符号表感兴趣,因此可以选择手动加载特定符号表。变灰的原因是因为您正在自动加载它们。这是手动设置并启用该选项的屏幕截图。Load Auto

要进入此状态,我将符号设置设置为加载所有符号除外,我将 NHibernate 添加到列表中。当我闯入 NHibernate 时,符号显示为灰色,可以手动加载:
NHibernate View

然后我可以选择加载它们:
在此处输入图像描述

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.Load Auto

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:
NHibernate View

I then I have the option to load them:
enter image description here

很酷不放纵 2024-10-27 11:03:22

里奇的回答 为我指明了正确的方向,但这不是解决方案。发生的情况如下:

当您单击 IntelliTrace 历史事件中的“调用堆栈”时,这将显示堆栈跟踪。通常,在堆栈跟踪中,您可以右键单击并加载符号,但是:

  • 从 IntelliTrace 历史事件中,这将始终被禁用。在你的代码中正常中断,这会起作用;
  • 当发生历史事件时,您甚至无法从模块视图加载符号(也呈灰色);
  • 当模块被指定为“始终手动加载”(恰当地命名为“默认”,请参阅 Ritch 帖子中的屏幕截图)时,它将不会自动加载。当您手动加载它时,仍然无法进入框架代码(至少对我来说这是不可能的,可能是 VS 2010 的错误)。为了解决这个问题:
    • 选择“始终自动加载”(注意:您不会看到表示您选择了此选项的复选标记!)并且
    • 中断执行并
    • (可以说)停止开发网络服务器(这在某些情况下对我有帮助)
    • 再次开始调试。

老实说,我发现 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:

  • From an IntelliTrace historic event, this will always be disabled. Break normally in your code, and this will work;
  • You can't even load symbols from the Modules View when in a historic event (also grayed out);
  • When a module is specified as "always load manually" (aptly named "Default", see screenshot in Ritch's post) it will not automatically be loaded. When you then load it by hand, it still won't be possible to step into framework code (at least, it wasn't possible for me, possibly a VS 2010 bug). To solve this:
    • select "Always load automatically" (note: you won't see a checkmark signifying that you selected this!) and
    • break execution and
    • (arguably) stop the development web server (this helped for me in some cases)
    • start debugging again.

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文