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

相关推荐
cloudfantasy4 小时前
docker直接二进制安装,非编译。KylinV10SP3 aarch64有效
运维·docker
新时代牛马4 小时前
Linux 驱动中断与定时完整篇:从 request_threaded_irq 到hrtimer 选型与排障
linux·运维·服务器
考虑考虑5 小时前
nginx打印请求日志
运维·后端·nginx
唐青枫5 小时前
别把日志、权限写进业务方法:C#.NET 动态代理从原理到实战
c#·.net
风云5 小时前
Vane.Dispatch 1.0.0 发布:一个与容器、传输层零耦合的 .NET 服务分发引擎
微服务·mvc·.net·ndf·vane.dispatch
数字补给站6 小时前
Windows 10 + Hyper-V + Terraform + cloud-init:批量产出 3 台 Ubuntu 的实践笔记
运维·ai编程
分支预测失败6 小时前
RISC-V 核间中断 IPI 实战:从 MSIP 寄存器到 IMSIC 消息投递
linux·后端
GeW7 小时前
RHCE考试避坑指南"90%考生容易忽略的细节
linux
键盘会跳舞8 小时前
【C++多线程】死锁诊断工具实战:从 Windows 到 Linux 的全链路排查
linux·c++·windows·死锁
拂拉氏9 小时前
【知识讲解】 Linux环境变量的认识与使用
linux·环境变量