# 安装
dotnet tool install --global dotnet-dump# 收集信息, 产生 core_XXX 文件
dotnet-dump collect -p pid# 分析 core_XXX 文件
dotnet dump analyze core_XXX# 列出 大于 XXX 字节的 对象
dumpheap -stat -min XXX# 查看对象具体信息
dumpobj address_XXX# 查看对应引用情况
gcroot address_XXX# 输出类似这种
Thread 1665c2:7ef12fffeb50 7f321c5c5574 System.Net.Sockets.SocketAsyncEngine.EventLoop()rbx:-> 7ef20d68e218 System.Net.Sockets.SocketAsyncEngine # 查看线程信息
threads# 输出类似这种
*0 0x1665AD (1467821)1 0x1665AF (1467823)2 0x1665B1 (1467825)3 0x1665B2 (1467826)4 0x1665B3 (1467827)5 0x1665B4 (1467828)6 0x1665B7 (1467831)7 0x1665B8 (1467832)8 0x1665BA (1467834)9 0x1665C2 (1467842)10 0x1665C3 (1467843)11 0x1665C4 (1467844)12 0x1665C5 (1467845)13 0x1665C6 (1467846)# 查看特定线程堆栈信息(这里查看地址 1665c2,对应 9号线程)
setthread 9
clrstack
参考
dotnet-dump 诊断工具 - .NET CLI - .NET | Microsoft Learn