在 Windows 2008 运行 .NET 4.7.1 上使用 WinDbg

Using WinDbg on Windows 2008 running .NET 4.7.1

我想在 Windows 2008 上调试 .NET 4.7.1 应用程序 运行ning。我面临的问题是 Windows 服务器 SKD/WDK 附带.NET 4.0 的支持 如何让 WinDbg 在 Windows 2008 上达到 运行 并调试 4.7.1 应用程序。

SDK 可能包含.NET framework 版本和WinDbg 版本。但是,这并不意味着WinDbg版本和.NET版本是挂钩的。事实上,WinDbg 不支持 .NET。

.NET 框架本身附带对 .NET 的支持。无论安装什么 .NET 框架,它都会有一个 SOS.DLL:

SOS 是 WinDbg 的调试扩展。它提供 .NET 特定命令。

您通常使用

加载扩展程序
.loadby sos clr

这意味着:找到 CLR.DLL 所在的位置,并从同一文件夹中加载 SOS.DLL 作为扩展名。

因此,只需使用您拥有的任何 WinDbg 版本并加载进程使用的任何 .NET 版本的扩展。

一些说明。
您可以尝试使用以下命令加载扩展:

.cordll -ve -u -l


不要忘记创建环境变量:

_NT_SYMBOL_PATH = SRV*C:\symcache*http://msdl.microsoft.com/download/symbols;