学习使用dotnet-dump工具分析.net内存转储文件(1)

  使用createdump工具dump的.net进程内存映射文件,可以用dotnet-dump诊断工具通过命令行分析,也支持在VS中打开分析,前者体量小、速度快,后者可视化效果好。本文学习使用dotnet-dump工具分析dump文件的基本用法。
  dotnet-dump支持在Windows和Linux中使用,可以采用下面的命令行在线安装,也支持直接下载对应操作系统的可执行文件,具体下载地址见参考文献1.

dotnet tool install --global dotnet-dump

  dotnet-dump支持三类操作:创建dump文件,分析dump文件和列出支持dump的 dotnet 进程,这三类操作相辅相成,不过本文中仅学习dotnet-dump的分析功能。
  分析dump文件的第一步是加载文件,采用dotnet-dump analyze命令加载命令,示例如下:
在这里插入图片描述
  输入runtimes命令查看dump文件中的.net运行时信息。
在这里插入图片描述

  如果运行其它命令时遇到下面的报错,可能是下载的dotnet-dump工具不支持dump文件关联的.net版本,可以运行dotnet tool uninstall命令卸载后,在参考文献2中找到支持对应.net版本的dotnet-dump工具,再重新安装,本文中需要安装支持.net 6的dotnet。
在这里插入图片描述

dotnet tool uninstall --global dotnet-dump
dotnet tool install --global dotnet-dump --version 6.0.351802

  重新安装后,再运行clrmodules命令,即可列出进程的托管模块。如下图所示:
在这里插入图片描述

  dotnet-dump有将近80个分析命令,部分命令还有更复杂的参数,可以使用“help 命令”的形式查看命令的参数说明。
  之前测试的dump文件太简单,不少命令执行后都没有结果,还得找个更复杂的dump文件以学习dump文件分析命令。

参考文献:
[1]https://learn.microsoft.com/zh-cn/dotnet/core/diagnostics/dotnet-dump
[2]https://www.nuget.org/packages/dotnet-dump

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值