何らかの理由で、psscor4 をロードするとコマンドを実行できません。MS Web サイトから psscor4 の x64 をダウンロードし、windbg と同じフォルダーに配置しました。psscor4 をロードする前に、問題なく sos コマンドを実行できます。
0:003> .loadby sos clr
0:003> lmvm clr
start end module name
00007ffa`35630000 00007ffa`35fc8000 clr (deferred)
Image path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll
Image name: clr.dll
Timestamp: Wed Nov 27 19:25:30 2013 (52968D7A)
CheckSum: 00996ED8
ImageSize: 00998000
File version: 4.0.30319.34011
Product version: 4.0.30319.34011
File flags: 8 (Mask 3F) Private
File OS: 4 Unknown Win32
File type: 2.0 Dll
File date: 00000000.00000000
Translations: 0409.04b0
CompanyName: Microsoft Corporation
ProductName: Microsoft® .NET Framework
InternalName: clr.dll
OriginalFilename: clr.dll
ProductVersion: 4.0.30319.34011
FileVersion: 4.0.30319.34011 built by: FX45W81RTMGDR
PrivateBuild: DDBLD109
FileDescription: Microsoft .NET Runtime Common Language Runtime - WorkStation
LegalCopyright: © Microsoft Corporation. All rights reserved.
Comments: Flavor=Retail
0:003> !DumpHeap -type ConsoleApplication1.Dummy
Address MT Size
0000000002022f58 00007ff9d5ec4130 40
Statistics:
MT Count TotalSize Class Name
00007ff9d5ec4130 1 40 ConsoleApplication1.Dummy
Total 1 objects
0:003> !DumpHeap -mt 00007ff9d5ec4130
Address MT Size
0000000002022f58 00007ff9d5ec4130 40
Statistics:
MT Count TotalSize Class Name
00007ff9d5ec4130 1 40 ConsoleApplication1.Dummy
Total 1 objects
0:003> !do 0000000002022f58
Name: ConsoleApplication1.Dummy
MethodTable: 00007ff9d5ec4130
EEClass: 00007ff9d5fd23b8
Size: 40(0x28) bytes
File: c:\Projects\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe
Fields:
MT Field Offset Type VT Attr Value Name
00007ffa34635740 4000001 8 System.Byte[] 0 instance 0000000012029740 bytes
00007ffa34632838 4000002 18 System.Int32 1 instance 0 <ID>k__BackingField
00007ffa3464d5b8 4000003 10 System.Double 1 instance 0.000000 <SomeThing>k__BackingField
psscor4 をロードしたら、sos コマンドを実行できません
0:003> .load psscor4
0:003> !DumpHeap -type ConsoleApplication1.Dummy
The garbage collector data structures are not in a valid state for traversal.
It is either in the "plan phase," where objects are being moved around, or
we are at the initialization or shutdown of the gc heap. Commands related to
displaying, finding or traversing objects as well as gc heap segments may not
work properly. !dumpheap and !verifyheap may incorrectly complain of heap
consistency errors.
Error requesting GC Heap data
Unable to build snapshot of the garbage collector state
0:003> !DumpHeap -mt 00007ff9d5ec4130
The garbage collector data structures are not in a valid state for traversal.
It is either in the "plan phase," where objects are being moved around, or
we are at the initialization or shutdown of the gc heap. Commands related to
displaying, finding or traversing objects as well as gc heap segments may not
work properly. !dumpheap and !verifyheap may incorrectly complain of heap
consistency errors.
Error requesting GC Heap data
Unable to build snapshot of the garbage collector state
0:003> !do 0000000002022f58
<Note: this object has an invalid CLASS field>
Invalid object
sos のプレフィックスを付けた後、これらのコマンドを実行できます。したがって、 !sos.do は正常に機能します。しかし、問題は、psscor4 固有のコマンドも実行できないことです。何が間違っている可能性がありますか?このプロセスにwindbgをアタッチしたときにGCが発生していないと思うので、psscor4が出力するエラーは誤解を招くと思います。
EDIT 以下は、.NET 4.0 に使用される構成です。psscor4 で使用できるのはどれですか?