Linux 环境.Net程序堆栈查询

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

参考

dotnet-dump 诊断工具 - .NET CLI - .NET | Microsoft Learn

相关推荐
李纲明18 分钟前
WordPress 白屏或提示「出现了严重错误」:先开 WP_DEBUG 抓致命错误,再二分插件与主题
运维·php·debug·wordpress·白屏·插件冲突·devdiy
wuminyu28 分钟前
Java字节码学习总结:字节码如何加载、解析和执行
java·linux·c语言·jvm·c++
十年磨一剑~1 小时前
Linux 内核中断处理机制与软硬件协同流程
linux·嵌入式硬件
Ruiery1 小时前
Linux 6.6内核并发与同步(五):mutex 可睡眠锁
linux·运维·服务器
莫晓燚1 小时前
双机部署若依 (RuoYi‑Vue) 传统环境部署---实战
linux·运维·数据库·redis·mysql·nginx·ruoyi
开开心心就好2 小时前
竖式除法出题工具,整除余数混合模式
运维·服务器·前端·javascript·ocr·perl·1024程序员节
领麦微红外2 小时前
红外测温传感器 赋能充电桩热安全与运维智能化
运维·安全·产品经理·智能硬件
CQU_JIAKE3 小时前
10.30【A】
linux
Zevalin爱灰灰3 小时前
Linux入门第二部分(ARM裸机篇) 第一章 开发环境搭建与了解
linux·arm开发·嵌入式