In windbg, how do I get a heap header address from !heap -l results?
Posted
by Kevin
on Stack Overflow
See other posts from Stack Overflow
or by Kevin
Published on 2010-03-23T20:42:12Z
Indexed on
2010/03/23
20:43 UTC
Read the original article
Hit count: 450
WinDbg
I am playing around with windbg's !heap command, particular the "-l" switch which detects memory leaks.
When -l does detect a leak, I am having problems navigating from its results to a stack trace for the source of the leak.
Here is a snippet of the results from !heap -l
0:066> !heap -l Searching the memory for potential unreachable busy blocks.
Entry User Heap Segment Size PrevSize Unused Flags
0324b500 0324b508 01580000 03230000 20 60 a busy 0324b520 0324b528 01580000 03230000 20 20 a busy 0324b5c8 0324b5d0 01580000 03230000 20 28 a busy
Windbg's documentation for !heap tells me to use dt _DPH_BLOCK_INFORMATION with the header address, followed by dds with the blocks' StackTrace field. But the output for !heap -l doesn't specify a header address! It's only specififying Entry, User, Heap, and Segment. I've racked my brain looking over the other commands but can't figure out how to get the header address from any of these fields. Can someone help?
© Stack Overflow or respective owner