locked
UMDH tracking memory leak RRS feed

  • Question

  • I am trying to track a memory leak using umdh. I have taken umdh snapshots while the code is executing. I can see an increase in memory usage in the following backtrace but it does not give details on who is performing the allocations:

    +   17352 (  39716 -  22364)     87 allocs BackTrace167

     ntdll!RtlAllocateHeapSlowly+00000041
     ntdll!RtlAllocateHeap+00000E9F
     MSVCR71!_heap_alloc+000000E0 (f:\vs70builds\3052\vc\crtbld\crt\src\malloc.c, 212)
     MSVCR71!_nh_malloc+00000010 (f:\vs70builds\3052\vc\crtbld\crt\src\malloc.c, 113)

    The different umdh traces show that there are no additional allocations but the memory usage is increasing over time. Does anyone know how I can get more details on where the allocations are originating from?

    Thanks for the help,

    Thursday, May 28, 2009 3:08 PM

Answers

  • Can you create a memory dump just before existing so you can tell from what kind of data is in the leaked memory?
    MSMVP VC++
    • Marked as answer by Nancy Shao Thursday, June 4, 2009 3:15 AM
    Thursday, May 28, 2009 7:53 PM

All replies

  • you need to know who is calling malloc for that block of memory.
    MSMVP VC++
    Thursday, May 28, 2009 5:04 PM
  • Do you know of a tool that I can use to find the caller. I would think that UMDH would provide a more detailed trace of the call stack but for some reason it is not. I have tried boundschecker but it was not helpful either. Any other suggestions?
    Thursday, May 28, 2009 6:39 PM
  • Can you create a memory dump just before existing so you can tell from what kind of data is in the leaked memory?
    MSMVP VC++
    • Marked as answer by Nancy Shao Thursday, June 4, 2009 3:15 AM
    Thursday, May 28, 2009 7:53 PM
  • Any resolution to this?  We are seeing the same thing...
    Wednesday, July 1, 2009 7:08 PM