I have written an application that is leaking memory – I’ve done the following in the past
-
find the heap that’s leaking with
!heap -s -
inspect the heap with
!heap -stat -h -
see the callstack for the allocation with
!heap -p -a
to get the callstacks I add +ust to gflags
while I’ve done this in the past with great success, !heap -s isnt showing any growth today? I have no idea whats wrong?
it’s like my allocations are in a heap hidden from !heap -s?
ideas? I’m compiling (both x86 and x64) using Visual Studio 2010 pro. Using windbg to debug
the punchline – when allocations are <1MB (default) they go to HeapAlloc(), when they’re bigger than 1MB they go to VirtualAlloc instead
VirtualAlloc doesnt appear with !heap -s