In windbg, how do I get a heap header address from !heap -l results?
- by Kevin
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?