!dumpheap -min for strings无法正常工作

时间:2017-07-25 01:52:25

标签: windbg sos sosex

在给定size参数时,!DumpHeap似乎无法正确处理字符串类型。

请观察:

0:000> !DumpMT 00007fff6c9c16b8
EEClass:         00007fff6c3447a8
Module:          00007fff6c341000
Name:            System.String
mdToken:         0000000002000068
File:            C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
BaseSize:        0x18
ComponentSize:   0x2
Slots in VTable: 193
Number of IFaces in IFaceMap: 7
0:000> !dumpheap -min 100000 -mt 00007fff6c9c16b8 -stat
Statistics:
              MT    Count    TotalSize Class Name
Total 0 objects
0:000> !strings /n:100000
Address            Gen    Length   Value
---------------------------------------
0000009767ed96c8   LOH    106134   
                SET DEADLOCK_PRIORITY HIGH

                DECLARE @CommittedCommitStateId INT = (Select PR...
0000009767f223e0   LOH    105665   
                SET DEADLOCK_PRIORITY HIGH

                DECLARE @CommittedCommitStateId INT = (Select PR...
0000009767fa26f0   LOH    107518   
                SET DEADLOCK_PRIORITY HIGH

                DECLARE @CommittedCommitStateId INT = (Select PR...
0000009767fd6f28   LOH    107049   
                SET DEADLOCK_PRIORITY HIGH

                DECLARE @CommittedCommitStateId INT = (Select PR...
---------------------------------------
4 matching strings
0:000>

SOS !DumpHeap -min 100000没有产生任何结果,而!strings /n:100000产生了一些结果。

可能!DumpHeap -min只是没有正确处理字符串吗?或者我错过了什么?

0 个答案:

没有答案