【问题标题】:How to debug through .NET Framework source code?如何通过 .NET Framework 源代码进行调试?
【发布时间】:2008-12-17 06:28:19
【问题描述】:

我已按照http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx 中概述的步骤启用 .NET Framework 的源代码调试,并且我过去曾使用过它。现在我使用的是 .NET 3.5 SP1,它似乎已经停止工作。除了我刚才提到的博客条目中的步骤之外,我还可以采取哪些特殊步骤来使源代码调试再次正常工作?

【问题讨论】:

  • +1。我也遇到了这个问题。
  • 我无法在 Visual Studio SP1 上调试框架源。它曾经在我的机器上工作。我最初让 Windbg 和 Visual Studio 将符号缓存到同一个目录,但现在我已将 VS.NET 缓存移动到它自己的目录以强制它重新下载符号。
  • 我的输出窗口状态: 步入:不带符号的单步跳过方法 'System.Web.UI.WebControls.XmlDataSourceView.XmlDataSourceView' 以下是我的环境选项调试中的一些摘录 --> 常规未选中 - 启用仅我的代码已选中 - 启用 .NET Framework 源单步执行已选中 - 启用源服务器支持已选中 - 将源服务器诊断消息打印到输出窗口 选项调试 --> 符号已选中 - 符号文件 (.pdb) 位置:referencesource.microsoft.com/symbols 已选中 - 搜索以上位置仅在手动加载符号时。
  • 模块窗口:System.Web.dll C:\WINDOWS\assembly\GAC_32\System.Web\2.0.0.0__b03f5f7f11d50a3a\System.Web.dll 是 N/A 已加载符号。 C:\managedSymbols\MicrosoftPublicSymbols\System.Web.pdb\DBE79CC9E37744848AFF0F27BA61686C1\System.Web.pdb 10 2.0.50727.3082 (QFE.050727-3000) 11/25/2008 12:03 AM 65F20000-66A pdb 大小 912,384 字节。

标签: .net visual-studio-2008 debugging


【解决方案1】:

这在最新的 GDR 中被破坏,微软需要修复它

【讨论】:

  • 啊...关于该问题的任何知识库文章或任何其他参考资料?
  • 遗憾的是没有:(我会尝试再抱怨一些。
  • 这还是坏了吗?另外...... .NET 4.0 呢?我一直在尝试为 WPF 3.5 SP1 或 WPF 4.0 调试 ContentPresenter,但无法正常工作。
  • 好的,我只需从referencesource.microsoft.com/netframework.aspx 下载 .NET 4 符号/源代码,就可以让它在 .NET 4.0 上工作。我永远无法让它为 .NET 3.5 SP1 工作。
  • 通用发行版,面向广大受众的发行版(几乎总是与安全相关的发行版)
【解决方案2】:

我在升级到 .NET 3.5 sp1 时遇到了同样的问题。 sp1 版本似乎非常简化。现在您只需选中“启用 .NET 框架源步进”(它会自动取消选中“仅启用我的代码”)。您无需再更改“符号”设置中的任何内容。

【讨论】:

    【解决方案3】:

    您可能需要刷新下载的符号。在符号设置对话框中,您指定缓存符号的缓存目录。由于您已经升级了 .NET 框架,因此缓存在那里的符号很可能是较旧的符号,它们不能与较新的 dll 一起使用。只需清除您的目录,然后再次下载 .NET 3.5 SP1 的符号。

    【讨论】:

    • 我有这个问题,.NET 3.5 SP1 是我尝试过的第一个版本。
    【解决方案4】:

    当我第一次执行这些步骤时,调试对我不起作用。我删除了符号目录并从 Options -> Debugging -> Symbols 中删除了所有设置,它起作用了。

    • 取消选中“仅启用我的代码”
    • 选中“启用 .NET Framework 源代码步进”
    • 选中“启用源服务器支持”
    • 不要在调试中添加任何东西 -> 符号

    在带有 Visual Studio 2008 SP1 的 Windows 7 x64 上运行良好。

    【讨论】:

    • 为什么不在符号中添加任何东西?
    • 我拥有它们时它不起作用。当其中没有任何内容时,它会下载正确的内容。
    • 这对我不起作用。当然……已经是一年多了。它下载了符号,但是当我尝试双击堆栈框架来调试 .NET Framework 时……它说没有可用的源代码。
    • @cplotts:对我来说也一样。有人知道正确设置它的正确方法吗?
    猜你喜欢
    • 2013-02-17
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    • 1970-01-01
    相关资源
    最近更新 更多