如何运行!dumpheap -dead在所有堆上的第2代?

时间:2015-11-05 03:33:23

标签: windbg

我有!eeheap -gc报告的8个托管gc堆:

0:000> !eeheap -gc
Number of GC Heaps: 8
------------------------------
Heap 0 (00000000009a2c50)
generation 0 starts at 0x00000000d92e3aa0
generation 1 starts at 0x00000000d8cdb128
generation 2 starts at 0x000000007fff1000
ephemeral segment allocation context: none
 segment     begin allocated  size
000000007fff0000  000000007fff1000  00000000d93edab8  0x593fcab8(1497352888)
Large object heap starts at 0x000000047fff1000
 segment     begin allocated  size
000000047fff0000  000000047fff1000  0000000487fabf00  0x7fbaf00(133934848)
00000004e6400000  00000004e6401000  00000004ee3af2f8  0x7fae2f8(133882616)
000000050e400000  000000050e401000  00000005152f8578  0x6ef7578(116356472)
0000000572400000  0000000572401000  00000005756e8ad8  0x32e7ad8(53377752)
Heap Size:               Size: 0x73544d00 (1934904576) bytes.
------------------------------
Heap 1 (00000000009ad690)
generation 0 starts at 0x00000001609a9cc8
generation 1 starts at 0x000000016072f780
generation 2 starts at 0x00000000ffff1000
ephemeral segment allocation context: none
 segment     begin allocated  size
00000000ffff0000  00000000ffff1000  0000000161bf8f50  0x61c07f50(1640005456)
Large object heap starts at 0x0000000487ff1000
 segment     begin allocated  size
0000000487ff0000  0000000487ff1000  000000048ffea910  0x7ff9910(134191376)
0000000044b50000  0000000044b51000  000000004cb44978  0x7ff3978(134166904)
000000051e400000  000000051e401000  000000052575aae0  0x7359ae0(120953568)
000000057a400000  000000057a401000  000000057c2e8610  0x1ee7610(32405008)
Heap Size:               Size: 0x7ae362c8 (2061722312) bytes.
...

我想在gen 2和LOH上运行!dumpheap -dead命令,但是,我有点困惑:

  1. 这个命令清楚地说明第二代的起点,但我不清楚它在哪里结束。例如,对于堆0我想我给-start 0x000000007fff1000,但是-end是什么?它是第一代的开始吗?
  2. 我有8个堆,所以我想我必须为第2代运行!dumpheap -dead 8次。对于LOH,它似乎跨越多个片段,次数甚至更高。有没有办法在所有LOH和gen 2中自动转储所有这些死对象的过程?

0 个答案:

没有答案