Webcast session "Debugging .NET Applications with WinDbg" et du nouveau du côté de gcroot (to DGML)
Ceux qui s'intéressent ou veulent s'intéressrer à l'analyse de dumps dans un contexte .NET ou de manière plus générale à l'utilisation de SOS et WinDBG dans ce même contexte seront peut être intéressés par un webcast d'une session de Tess Ferrandez donnée à la conférence Øredev en novembre 2009 : Debugging .NET Applications with WinDbg
Ceux qui n'apprécient pas WinDBG peuvent aussi regarder ce webcast vu qu'à partir de la trentième minute Tess montre ce que Visual Studio 2010 devrait pouvoir faire pour nous dans ce domaine :-)
Et maintenant, reparlons de GCRootToDGML.
Je vous avais présenté cet outil de Chris Lovett il y a quelques temps : SOS et DGML main dans la main : GCRootToDGML
Et bien je viens de découvrir que Mohamed Mahmoud s'en est inspiré pour créer une extension pour le debugger : Visual GCRoot via DGML
Maintenant votre graphe DGML est générable via un simple !vgcroot :
!vgcroot /fields 01940fc0 C:\Temp\02Fields.dgml
avec comme source :
0:004> !gcroot 01940fc0
Note: Roots found on stacks may be false positives. Run "!help gcroot" for
more info.
Scan Thread 0 OSTHread c88
Scan Thread 2 OSTHread c14
DOMAIN(004BE6D8):HANDLE(WeakLn):17103c:Root:0199d5a8(System.Windows.Forms.NativeMethods+WndProc)->
019416ac(System.Windows.Forms.NotifyIcon+NotifyIconNativeWindow)->
019415b4(System.Windows.Forms.NotifyIcon)->
0194299c(System.Windows.Forms.ContextMenuStrip)->
01993920(System.Windows.Forms.ToolStripItemCollection)->
01993938(System.Collections.ArrayList)->
019939f0(System.Object[])->
01963070(System.Windows.Forms.ToolStripMenuItem)->
0198fc18(System.ComponentModel.EventHandlerList)->
0198fc48(System.ComponentModel.EventHandlerList+ListEntry)->
0198fc28(System.EventHandler)->
01940fc0(CoqTextTools.NotifyIconManager)
DOMAIN(004BE6D8):HANDLE(Strong):171150:Root:019415b4(System.Windows.Forms.NotifyIcon)->
0199d5e8(System.ComponentModel.EventHandlerList)->
0199d5f8(System.ComponentModel.EventHandlerList+ListEntry)->
0199d5c8(System.EventHandler)->
01940fc0(CoqTextTools.NotifyIconManager)
DOMAIN(004BE6D8):HANDLE(WeakSh):1712dc:Root:0194299c(System.Windows.Forms.ContextMenuStrip)->
0198fca4(System.Windows.Forms.ToolStripItemCollection)->
0198fcbc(System.Collections.ArrayList)->
01990778(System.Object[])->
01962d2c(System.Windows.Forms.ToolStripMenuItem)->
0198fb30(System.ComponentModel.EventHandlerList)->
0198fb60(System.ComponentModel.EventHandlerList+ListEntry)->
0198fb40(System.EventHandler)->
01940fc0(CoqTextTools.NotifyIconManager)
J'aime bien !
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 :