bash
# 安装
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
参考