狩猎内存泄漏

时间:2009-11-16 18:08:22

标签: com memory-leaks

我在WinDbg中使用以下命令找到泄漏的堆块

!heap –l

我得到每个泄漏的堆块,我正在运行以跟踪以获得堆栈跟踪。

!heap -p -a leakedheapblock

以下是此命令的结果:

address 1c841cc0 found in
_HEAP @ 3930000
  HEAP_ENTRY Size Prev Flags    UserPtr UserSize - state
    1c851cc0 0009 0000  [03]   1c851ce8    0000c - (busy)
    Trace: 84f8
    7c873c19 ntdll!RtlpDphNormalHeapAllocate+0x00000030
    7c876870 ntdll!RtlpDebugPageHeapAllocate+0x00000335
    7c8794a8 ntdll!RtlDebugAllocateHeap+0x0000002d
    7c8531e4 ntdll!RtlAllocateHeapSlowly+0x00000041
    7c83d97a ntdll!RtlAllocateHeap+0x00000e9f
    1699d238 MyLibrary!malloc+0x0000007a

如何在“MyLibrary”中找到泄漏的代码片段。

1 个答案:

答案 0 :(得分:0)

MSDN中有一个很好的指南:Memory Leak Detection Enabling