首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将进程内存转储到磁盘以分析内存泄漏

将进程内存转储到磁盘以分析内存泄漏
EN

Stack Overflow用户
提问于 2011-06-11 07:20:43
回答 2查看 1.5K关注 0票数 0

我有一个32位的msvc++应用程序运行在一个内存泄漏的生产环境中。它基本上会运行几个小时,直到它耗尽所有3 gb的可寻址内存并终止。

我在想,如果有一种方法可以挂起一个进程并将它的内存转储到磁盘上,我可以分析内存,看看它泄漏的内容是否有任何模式。

我甚至不确定这是否可能。我只是把科学扔到墙上,看看什么能坚持下去。

如果您能提供一些意见,我们将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-11 08:38:11

这是非常简单的,只要你确信你有一些方法可以通过分析进程堆来找到有用的东西。所涉及的工具都是免费的,说明在这里:Dump Files

也就是说,如果你可以运行一段时间的调试构建,CRT会为你做所有的工作。请参阅Finding Memory Leaks Using the CRT Library

票数 2
EN

Stack Overflow用户

发布于 2011-06-11 10:14:08

对于真正快速的方法,Purify或DevPartner Studio通常会将您指向泄漏,并向您显示从它被分配到它被泄漏的地方的轨迹。它还会暴露出相当多的其他错误。

如果你有时间的话,使用CRT内置的工具是很好的。这些工具是要花钱的,所以我想你应该权衡一下用CRT内存转储来追踪它们所花费的时间成本和许可证的成本。

在做Windows dev时,这有助于快速找到许多泄漏的根源。我更喜欢DevPartner而不是Purify,但可能是因为我只在Linux下使用过Purify,并且发现它的工作方式太麻烦了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6312983

复制
相关文章

相似问题

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