Windowsが「VirtualAllocdBlocks」のサイズをどのように追跡するのだろうか。WinDBG によると、メモリ ブロックは二重にリンクされたリストで管理されます。しかし、この構造体 (_LIST_ENTRY) には 2 つのポインターしか含まれていません。このようなブロックのサイズ (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 ]