Avis aux utilisateurs de SOS/WinDbg : essayez donc Psscor2 !
Ceux qui travaillent sur du debug d'applications .NET aussi bien sur dump qu'en live (via SOS/SOSEX sous WinDbg, CDB ou même Visual Studio) apprécieront probablement la mise à disposition d'une extension pouvant être utilisée en remplacement de SOS, pour .NET 2.0 à 3.5.
Comme le dit John Robbins, vous pouvez voir cette extension comme un SOS très amélioré.
Liste des commandes disponibles :
0:006> .load psscor2
0:006> !help
-------------------------------------------------------------------------------
PSSCOR is a debugger extension DLL designed to aid in the debugging of managed
programs. Functions are listed by category, then roughly in order of
importance. Shortcut names for popular functions are listed in parenthesis.
Type "!help <functionname>" for detailed info on that function.
Object Inspection Examining code and stacks
----------------------------- -----------------------------
DumpObj (do) Threads
DumpArray (da) CLRStack
DumpStackObjects (dso) IP2MD
DumpAllExceptions (dae) BPMD
DumpHeap U
DumpVC DumpStack
GCRoot EEStack
ObjSize GCInfo
FinalizeQueue EHInfo
PrintException (pe) COMState
TraverseHeap
DumpField (df)
DumpDynamicAssemblies (dda)
GCRef
DumpColumnNames (dcn)
DumpRequestQueues
DumpUMService
Examining CLR data structures Diagnostic Utilities
----------------------------- -----------------------------
DumpDomain VerifyHeap
EEHeap DumpLog
Name2EE FindAppDomain
SyncBlk SaveModule
DumpThreadConfig (dtc) SaveAllModules (sam)
DumpMT GCHandles
DumpClass GCHandleLeaks
DumpMD VMMap
Token2EE VMStat
EEVersion ProcInfo
DumpModule StopOnException (soe)
ThreadPool MinidumpMode
DumpHttpRuntime FindDebugTrue
DumpIL FindDebugModules
PrintDateTime Analysis
DumpDataTables CLRUsage
DumpAssembly CheckCurrentException (cce)
RCWCleanupList CurrentExceptionName (cen)
PrintIPAddress VerifyObj
DumpHttpContext HeapStat
ASPXPages GCWhere
DumpASPNETCache (dac) ListNearObj (lno)
DumpSig
DumpMethodSig Other
DumpRuntimeTypes -----------------------------
ConvertVTDateToDate (cvtdd) FAQ
ConvertTicksToDate (ctd)
DumpRequestTable
DumpHistoryTable
DumpBuckets
GetWorkItems
DumpXmlDocument (dxd)
DumpCollection (dc)
Examining the GC history
-----------------------------
HistInit
HistStats
HistRoot
HistObj
HistObjFind
HistClear
Ne vous limitez pas seulement à l'exploration des nouvelles commandes : certaines de celles qu'on trouve dans SOS ont été enrichies, comme par exemple DumpHeap.
Du coup, j'attire votre attention sur un document que John Robbins rend disponible dans son post PSSCOR2 Is Now Available to All! (Think SOS+++) : 57 pages de documentation sur l'extension, toujours pratique !
L'extension se télécharge ici : Psscor2 Managed-Code Debugging Extension for WinDbg
Petit bémol : à l'heure où j'écris ces lignes la page de téléchargement ne délivre qu'une archive auto-extractible x64, contenant l'extension pour les 3 architectures (x86, x64 et ia64).
Donc si vous ne disposez que de systèmes 32 bits, utilisez un logiciel comme WinRAR pour ouvrir l'executable en temps qu'archive.
Tom Christian devrait publier une série de post sur cette extension dans les semaines à venir (sans doute tous sous le tag psscor).
Décidément ces temps-ci ça bouge bien de ce côté du monde du debug, nous n'avons presque plus de raison de ne pas analyser ces dumps de crash ;-)
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :