繁体   English   中英

怎么办!address -filter Windbg

[英]What to do with !address -filter Windbg

我目前正在研究一个应用程序正在为C ++应用程序使用大量私有内存的问题。 看起来很多是基于转储分析提交和保留内存。

我使用Windbg。 有什么方法可以看出提交和保留记忆中的确切含义是什么? 我把它缩小到一个特定的堆。

我的理论是它没有被释放。 我无法调试,我只有转储继续。

我已经使用了命令!address -filter并获得了很少的输出,但我该如何前进?

任何建议都会有帮助。

您可以使用!heap -s命令获取WinDbg中的内存使用信息。 上有泄漏检测的教程使用WinDbg 这里

您可以通过几种方法诊断内存泄漏:

后一个选项(UMDH工具)是WinDbg包的一部分,通常是调查内存泄漏的最简单方法。 这两个选项实际上都基于相同的功能,这是NT堆在分配时保持调用堆栈的能力以及分配的条目。

请注意,除了在堆中泄漏内存之外,您可能还有其他类型的泄漏会导致提交的内存空间增加。 例如,您可能直接调用VirtualAlloc并忘记了VirtualFree。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM