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

相关推荐
志栋智能15 分钟前
超自动化运维的治理框架与最佳实践
运维·自动化
2601_9615934216 分钟前
Mac 虚拟机跑 Linux 选哪个?CentOS 8 稳定版适配方案
linux·macos·centos
ljs64827395124 分钟前
智慧商城(Smart Mall):基于 Spring Boot + Vue 3 的现代化电商平台实战
linux·vue.js·spring boot·后端
run21professional41 分钟前
系统包管理器和语言级包管理器的区别,及其源配置
linux
阿成学长_Cain43 分钟前
Linux grpck命令超全详解|校验组文件完整性、修复/etc/group错误实战
linux·运维·服务器·网络
进击切图仔43 分钟前
基于千问的白盒蒸馏 SOP
运维·服务器·人工智能·python·效率
杖雍皓1 小时前
没有服务器如何构建现代 Web 应用:平台选型与组合策略
运维·服务器·前端·react.js·github·netlify·vercel
Yana.nice2 小时前
Weblogic日志体系
linux
阿拉斯攀登2 小时前
内核模块开发:module_init 与模块机制详解
linux·网络·嵌入式硬件·linux驱动
联盛新能源2 小时前
优得运维斩获中国户用和工商业光储充大会年度优秀运维案例奖
运维