当前位置: 首页 > news >正文

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

  运行ShenNiusModularity项目,使用createdump工具dump完整的进程内存映射文件,然后运行dotnet-dump analyze命令加载dump文件。
  可以先使用dumpheap命令显示有关垃圾回收堆的信息和有关对象的收集统计信息。dumpheap支持多类参数(如下所示):

DumpHeap [-stat][-strings][-short][-min <size>][-max <size>][-live][-dead][-thinlock][-startAtLowerBound][-mt <MethodTable address>][-type <partial type name>][start [end]]

  常用的参数包括:
  1)-stat:显示对象数量、总大小及类型名称,如下图所示,该参数从小到大返回dump文件中每种类型的对象数量、总大小,可以从返回结果中看到内存占用异常或者数量异常的数据类型;在这里插入图片描述
  2)-mt:查看方法表对应的类型的对象列表,一般用-stat看到数量异常或内存异常的类型后,用该参数再加上该类型的MT地址查看详细的对象列表(也可以用-type 及类型名称查看);
在这里插入图片描述
  3)-strings:针对字符串类型,统计字符串值的出现次数,如果字符串太多,可以考虑用-min、-max参数限制数据范围;
在这里插入图片描述
  4)-min/-max:设置仅显示大于/小于指定字节大小的对象;
  5)-type:作用同mt参数,仅将MT地址换为类型名称,可以仅输入部分名称;
  6)-short:仅输出对象地址。

  从dumpheap -mt的列表中找到可疑的对象地址,然后使用dumpobj命令查看对象内容,如下图所示:
在这里插入图片描述
参考文献:
[1]https://learn.microsoft.com/zh-cn/dotnet/core/diagnostics/dotnet-dump
[2]https://www.nuget.org/packages/dotnet-dump

http://www.lqws.cn/news/563401.html

相关文章:

  • 求区间最大值
  • 软件项目管理期末考试大题
  • 逆向入门(22)程序逆向篇-TraceMe
  • 【纯干货】调整word目录中的行距以及右对齐页码
  • 高端电影色调人像风光大片摄影后期调色Lightroom预设,手机滤镜下载!
  • Linux软连接和硬连接
  • 从 “慢如蜗牛” 到 “风驰电掣”:中欧跨境网络专线加速方案
  • spring-ai-alibaba DashScopeCloudStore自动装配问题
  • 论文阅读 Align before Fuse (ALBEF)
  • EXISTS 和 NOT EXISTS 、IN (和 NOT IN)
  • 每日算法刷题Day40 6.27:leetcode前缀和3道题,用时1h20min
  • 1.2 基于蜂鸟E203处理器的完整开发流程
  • 【大模型】Query 改写常见Prompt 模板
  • 【转】PostgreSql的镜像地址
  • InfluxDB 3 Core最后值缓存深度实践:毫秒级响应实时数据的核心引擎
  • Mysql架构
  • c++学习(五、函数高级)
  • 大事件项目记录11-文章分类接口开发-删除文章分类
  • Qt:QCustomPlot库简介
  • Vue基础(18)_收集表单数据
  • debian国内安装docker
  • 【经验】bitsandbytes安装-LLAVA-1.5库调试
  • 【数据标注师】分类标注
  • AD 学习笔记——第一章 系统的安装及参数设置
  • 一个简单测试Deepseek吞吐量的脚本,国内环境可跑
  • 印度和澳洲的地理因素
  • 西门子S7-200 SMART PLC:小型自动化领域的高效之选
  • 数据库(MYsql)
  • Qt-Advanced-Docking-System 关闭、禁止拖动、最大化按钮等设置
  • 从静态到动态:Web渲染模式的演进和突破