首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C#中检测导致内存泄漏的对象

在C#中检测导致内存泄漏的对象
EN

Stack Overflow用户
提问于 2015-09-29 04:14:30
回答 2查看 1.1K关注 0票数 0

如何检测导致.net中内存泄漏的对象。是否有可能使用崩溃转储来检测导致内存泄漏的对象?

EN

回答 2

Stack Overflow用户

发布于 2015-09-29 05:21:13

要检测和调查.NET中的内存泄漏,有几个选项:

  1. 使用像雷德盖特蚂蚁这样的内存分析器工具(还有许多其他类似的工具可用)。
  2. 使用WinDBG及其SOS扩展。
  3. 使用基于弱引用的内存泄漏检测器来测试您的应用程序。

要在内存泄漏调查中使用崩溃转储,请参阅堆栈溢出问题和 MSDN链接。

票数 0
EN

Stack Overflow用户

发布于 2015-09-29 05:59:50

可能有一个转储(如果已经正确地看到这个文章),当然有多个转储。

你能做的是:

  • 如果您还没有安装Windows以获得Windows的调试工具
  • 如果您有一个x86流程(注意:流程的架构是相关的,而不是运行流程的系统架构)使用WinDBG (x86),否则使用x64版本。
  • 打开崩溃转储,找到转储文件并打开它
  • 假设您的进程是.net 4,则在调试器中输入 .loadby sos clr!dumpheap -stat
  • 这将输出托管类型的计数和类名。
  • 拥有多个转储将使您的工作更容易,但肯定不会像使用内存分析器那样容易。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32835587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档