クラスの 1 つは、次の sos コマンドで検出されたように、.NET ヒープに多数のオブジェクトが存在します。
!dumpheap -stat -type MyClass
Statistics:
MT Count TotalSize Class Name
00007ff8e6253494 1700 164123 MyNameSpace.MyClass
ObjSizeが 5 MB を超えるオブジェクトのインスタンスを見つける必要があります。以下を使用して、MyClass の 1700 個のインスタンスすべてのobjsizeを一覧表示できることはわかっています。
.foreach (res {!DumpHeap -short -MT 00007ff8e6253494 }) {.if ( (!objsize res) > 41943040) {.echo res; !objsize res}}
上記のスクリプトでは、5MB を超えるオブジェクト インスタンスがありますが、結果が得られません。objsize の出力が次のようになることが問題かもしれないと思います
20288 (0x4f40) bytes
しきい値との比較を困難にする文字列です。このスクリプトで objsize が 5MB を超えるオブジェクトのみを一覧表示するにはどうすればよいですか?