実行中のASP.NETアプリケーションをWinDbgでデバッグしようとしています。私が必要とするのは、メソッドに渡される引数の値を見ることです。だから私は、この方法ではブレークポイントでよ、と!clrstack -p
から、私はこれを取得:SOSのWindgbで構造体フィールドの値が表示されない
PARAMETERS:
this (0x00000004af4fdc10) = 0x000001a2b8a06e68
ideaForum (0x00000004af4fdc18) = 0x000001a2b8b11bc8
page (0x00000004af4fdc20) = 0x0000000300000001
私はタイプint?
である「ページ」の引数(System.Nullable<System.Int32>
)に興味があるので、最初私はMTアドレスを見つけますSystem.Nullable`1[[System.Int32, mscorlib]]
の場合、00007ffa263c7ae0になります。それから私は!dumpvc 00007ffa263c7ae0 0000000300000001
呼び出すと、ここで私が得るものです:
Name: System.Nullable`1[[System.Int32, mscorlib]]
MethodTable: 00007ffa263c7ae0
EEClass: 00007ffa25dc6580
Size: 24(0x18) bytes
File: C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
Fields:
MT Field Offset Type VT Attr Value Name
00007ffa263da2e0 4000707 0 System.Boolean 1 instance hasValue
00007ffa263baf60 4000708 4 System.Int32 1 instance value
あなたが見ることができるように、私はWindbg with SOS, How to dump a c# structに答えとしてマークされていたものをやっているが、それは私が必要なものであるフィールドの値を表示しません。値に到達するために他に何が必要ですか?おかげさまで
EDIT:結局のところ、私は引数に間違ったアドレスを使用していたようです。引数名の後の括弧内の数字は正しいので、0x00000004af4fdc20
を使用してください。これにより、!dumpvcは期待どおりに動作します。 Sosexは仕事をするために引数名が必要なだけなので使いやすいです
スティーブさん、 '' '!sosex.mdt page'''がトリックをしました。私はsosexヘルプページbtwが大好き! – actionresult
私はあなたにとって有益だとうれしいです。 –