2013-04-04 87 views
1

我知道我的应用程序正在泄漏内存&我使用WinDbg工具进行配置文件。我连着W3WP进程和运行下面的命令:了解WinDbg报告以查找内存泄漏.net

解决-summary

它产生以下结果。

Result of !address -summary command on WinDbg

我想有人帮助我理解这个结果,并指导我或者给我提供一个链接,后者又可以帮助我们了解需要做些什么

+0

下面螺纹也相似: http://stackoverflow.com/questions/4946685/good- tutorial-for-windbg?lq = 1 – SharpCoder 2014-04-25 09:01:45

回答

2

MSDN链接解释了不同的内存区域,就如何解释这个问题而言,您需要记录输出两次,在泄漏之前和之后查看增加的情况,我们可以通过仅查看最大的使用区域来猜测,但您有一个标记为<unknown>的区域。您可能需要先将符号排序,然后再次运行!address命令。

此外,你可能会发现umdhdebugdiag可能使泄漏找到适合您更轻松,此外,还有在WinDbg中的泄漏检测命令!heap -l

至于环节都关心有上有用的资源related post

+0

谢谢你的快速回复。我查看了WinDbg的帮助,同时解释了所有其他符号(Image,Heap32等),但没有谈到。我不知道这是否是因为它是损坏资源的一部分。我正在寻找任何资源,这将使我逐步使用任何工具,这将有助于我进入这个问题的底部。 – SharpCoder 2013-04-04 10:10:33

+0

@Brown_Dynamite''是[虚拟分配](http://stackoverflow.com/questions/4885429/parse-the-crash-dump-in-windbg-for-private-bytes-other-than-managed-heap )显然,你可以使用'!address -f:VAR'来转储它们,这会输出一堆东西,你可以看看这个[link](http://social.msdn.microsoft.com/Forums/en -US/clr/thread/63bd564a-7278-475f-89e9-b1634a71569f)和[本教程](http://www.codeproject.com/Articles/31382/Memory-Leak-Detection-Using-Windbg),但你可能想要尝试umdh,debugdiag或'!heap -l',因为它们会自动检测泄漏 – EdChum 2013-04-04 10:34:54

+0

@EdShum:感谢您的帮助:-)。我会尝试这些步骤。 – SharpCoder 2013-04-04 10:39:47