2. Oui mais pourquoi ? Déboguer dans la nature, diagnostiquer les problèmes avec un outil le plus léger possible.
3. Windbg - cdb - kd Debuggingtools for Windows http://microsoft.com/whdc/devtools/debugging Au départ, un debugger natif (user mode et kernel), frontal de bibliothèques bas niveau. windbg : debugger « graphique » cdb + kd (kernel debugger) cdb (console debugger) : idem que windbg mais en pure ligne de commande et user mode seulement kd: kernel debugger (ligne de commande) Pas d’installation nécessaire (le répertoire décompressé par l’installeur se suffit à lui-même)
4. sos et sosex sos (Son of Strike) extension pour le code managé livré avec chaque version du framework sosex extension non MS de sos Steve Johnson - http://www.stevestechspot.com/
5. sos This is how the world ends, not with a bang but a whimper. (TS Eliot – the Hollow men) This is how sosbegins, not with a whimper but a bang. !Help
6. Avant de commencer .loadbysosmscorwks charge la version de sos correspondant à la version du CLR de l’appli .loadsosex charge sosex (doit être dans le répertoire de windbg/cdb) .cmdtree[path]md_tree.txt menu de racourcis personnalisable
7. Commandes amusantes !DumpHeap –stat Instances du tas, regroupées par type, triées par taille totale !Threads Liste des threads managed !runaway 7 Exécute l’appli et classe les threads par temps CPU utilisé
8. Encore des commandes ! SyncBlk Liste des locks pris ou attendus ! ClrStack [-a|-l|-p] Call stack CLR du thread courant, et variables et arguments courants !GCRootaddr Liste récursive des instances qui font que l’instance à [addr] reste en vie
9. Toujours plus haut ~n Infos sur le thread n ~ns Passer au thread n ~e*!ClrStack –a Exécuter une commande sur tous les threads
10. sosex !dlk Détection automatique des deadlocks !refsaddr Liste des références de et vers l’instance à addr !mln addr Type de l’objet CLR à l’adresse addr
17. Powerdbg Frontal Powershell de pilotage de windbg http://www.codeplex.com/powerdbg powershell –(stdin/out)-> cdb –(tcp)-> windbg Fonctions simples pour lancer des commandes Sortie standard de cdb traitée ligne à ligne Scripts (et moteur) écrits en Powershell (une trentaine de scripts existants)
20. Ressources Debugging MS .Net 2.0 Applications, MS Press, John Robbins Windows Internals 5th edition, MS Press, Mark Russinovitch Blog de Tess Ferrandez Blog de John Robbins www.codeplex.com/powerdbg www.polom.com/linqdbg