我想知道 Windows 如何跟踪“VirtualAllocdBlocks”的大小。根据 WinDBG,内存块在双向链表中进行管理。但是这个结构(_LIST_ENTRY)只包含两个指针。如何获得这样一个块的大小(在 WinDBG 中)以及存储在内存中的大小?
0:008> dt _HEAP 0x00150000
ntdll!_HEAP
...
+0x050 VirtualAllocdBlocks : _LIST_ENTRY [ 0x3e40000 - 0x13950000 ]
...
0:008> dt _LIST_ENTRY 0x3e40000
ntdll!_LIST_ENTRY
[ 0x3f50000 - 0x150050 ]
+0x000 Flink : 0x03f50000 _LIST_ENTRY [ 0x4050000 - 0x3e40000 ]
+0x004 Blink : 0x00150050 _LIST_ENTRY [ 0x3e40000 - 0x13950000 ]