使用WinDbg分析.Net 7 Dump文件遇到的问题

前言

WinDbg是支持分析多个平台的dump文件,如Linux(ELF)和MacOS(Macho),当然自家的EXE(PE文件格式)肯定是没有问题的.  .Net Core 7的dump的文件可以用WinDbg分析,或者使用.Net诊断工具(dotnet-dump)分析.

不过不管用哪个工具分析.Net的dump文件,都需要安装dotnet-sos.
#安装dotnet-sos
dotnet tool install dotnet-sos -g

在安装dotnet-sos之后,还需要在dotnet-sos执行install

dotnet-sos install

在dotnet-sos install命令后,记得sos.dll所在的目录地址:

dotnet-sos执行install命令后,记录sos.dll所在目录地址

在WinDbg中,分析.Net Dump文件,是需要使用.load命令加载sos.dll,在官方文档中,说WinDbg在加载.Net的Dump可以自动加载sos.dll,目前WinDbg版本并不会自动加载. 文档地址: dotnet-sos 文档地址

文档上说windbg在10.0.18317.1001 版本后,会自动加载sos.dll

我安装的WinDbg版本:

安装的windbg版本

# 通过.load加载sos扩展命令
#.load C:\Users\qiufeng\.dotnet\sos\sos.dll 
.load C:\Users\qiufeng\.dotnet\sos\sos.dll

加载sos,才可以使用sos扩展命令分析.net dump文件

sos扩展命令文档地址:sos命令文档地址 

秋风 2023-06-18