WinDbg 替代 !dumpheap 类型?

jga*_*fin 2 memory-management windbg sos

我从 !dumpheap -stat 得到以下行

000007fee09d6960   441762    835293368 System.String
Run Code Online (Sandbox Code Playgroud)

我很想知道 441 762 字符串的用途。做一个

!dumpheap -type System.String
Run Code Online (Sandbox Code Playgroud)

会列出所有,还是我错了?我怎样才能分析其中的一些?

Bri*_*sen 5

您可以使用!dumpheap -strings来列出字符串。不幸的是,这不会为您提供对象引用。您可以将-min/-max-type标志一起使用来指定大小以将输出限制为特定大小的字符串。

SOSEX.dll有一个非常有用的!strings命令,它列出了对象引用和文本,因此很容易找到特定的字符串。它内置过滤功能,并支持最小和最大长度选项。