学习使用Visual Studio分析.net内存转储文件的基本用法

发布于:2025-06-30 ⋅ 阅读:(19) ⋅ 点赞:(0)

  dotnet-dump工具虽然命令众多、功能强大,但可视化效果一般,此时可以考虑使用Visual Studio分析.net内存转储文件。本文学习使用Visual Studio2022分析.net内存转储文件的基本用法(最新的VS2022已不支持在win7中安装使用,如果需要在win7中分析,请安装VS2019)。
  建议安装企业版2022,其具备分析dump文件的完整功能,同时推荐安装下图所示的工作负荷,在线安装的话直接下载vs_Enterprise.exe后选择工作负荷在线安装,如果需要离线安装的话,请参考之前的文章下载离线安装包安装。

在这里插入图片描述
  启动VS2022,通过“文件”->“打开”->"文件"菜单打开本地dump文件,如下图所示。dump文件打开后,在VS中会列出dump文件的转储摘要、系统信息、模块清单,同时在右侧显示支持的操作,其中设置符号路径操作用于设置符号文件路径(符号包请百度下载方法或咨询AI),以便更好的分析dump文件,这一步不是必须步骤,找不到符号包可以暂时忽略。
在这里插入图片描述在这里插入图片描述
  如果是内存异常,可以考虑使用“运行诊断分析”操作,点击后进入诊断分析页签,在页签右侧可以选择可用分析类型,请按需选择分析类型,一般选得越多,分析越慢,同时对计算机内存也有要求,dump文件越大,需要的内存也越大。
在这里插入图片描述
  分析结束后,会在右下侧显示分析结果,包括不同的结果类型,点击某一类型后在下方显示该结果类型的详细信息。如下图所示,点击“在固定对象堆中找到已固定对象”,在下方显示所有.NET托管堆包含的固定对象,展开某一类型的节点,显示该类型的所有对象列表,点击某一内存地址,可以查看该对象的详细信息。
在这里插入图片描述
  又如点击“找到重复的字符串”,会在下方按字符串内存浪费量从大到小显示字符串值、占用内存空间及出现次数,便于排查内存异常问题。
在这里插入图片描述

参考文献:
[1]https://learn.microsoft.com/zh-cn/visualstudio/install/workload-component-id-vs-enterprise?view=vs-2022
[2]https://learn.microsoft.com/zh-cn/visualstudio/install/create-a-network-installation-of-visual-studio?view=vs-2022#download-the-visual-studio-bootstrapper-to-create-the-layout


网站公告

今日签到

点亮在社区的每一天
去签到