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

相关推荐
面向对象World18 分钟前
正点原子Mini Linux 4.3寸800x480触摸屏gt115x驱动
linux·服务器·数据库
17(无规则自律)38 分钟前
LubanCat 2烧录一个新镜像后开发环境搭建
linux·嵌入式硬件·考研·软件工程
DeeplyMind1 小时前
第14章 挂载宿主机目录(Bind Mount)(最常用,重要)
运维·docker·云原生·容器·eureka
FJW0208142 小时前
《Nginx 进阶实战:配置详解、站点发布与常用功能大全》(2)
运维·nginx
『往事』&白驹过隙;2 小时前
浅谈PC开发中的设计模式搬迁到ARM开发
linux·c语言·arm开发·设计模式·iot
DeeplyMind2 小时前
第19章 Docker Compose进阶
运维·docker·容器
srhtrnbdfg3 小时前
Discuz!NT负载均衡方案
运维·负载均衡
Hello.Reader4 小时前
从 0 到 1 理解硬盘数据恢复工具原理与工程实现
linux·运维·服务器·网络·数据库
专注VB编程开发20年5 小时前
WebView2 处理跨域访问限制,Frame脚本执行,难度比CEF大10倍
前端·javascript·.net
『往事』&白驹过隙;5 小时前
C/C++中的格式化输出与输入snprintf&sscanf
linux·c语言·c++·笔记·学习·iot·系统调用