Analyser un dump de worker process avec PowerShell / Worker process dump analysis with PowerShell

[MAJ 24/06/2016] Il y a quelques semaines un de mes collègues (Merci Julien !), m’a fait découvrir PowerDbg. PowerDbg est une librairie PowerShell vous permettant de créer facilement des scripts PowersShell pour automatiser des sessions de debugging WinDbg / CDB (plus de détails ici). Ce collègue m’envoya un exemple d’utilisation de PowerDbg pour le debug d’une application ASP.Net au sein d’un worker processus IIS – w3wp.exe). J’ai décidé de développer une version « full » PowerShell de cet exemple (J’ai supprimé des dépendances externes de la version originale) que je vous propose dans cet article (le fichier source est disponible ici). Dans cet exemple je charge seulement 2 extensions – SOS and CLR – et je lance seulement deux commandes – !pe and !ClrStack. Vous pouvez personnaliser ou ajouter les extensions que vous voulez charger et les commandes associées. Le résultat est un fichier CSV ressemblant à peu près à celui-ci (sortie volontairement tronquée) :

powerdbg

Si vous désirez générer des dumps de worker processus vous pouvez jeter un coup d’oeil à ces deux ressources :

[Updated 06/24/2016] Some weeks ago a colleague of mine (Thanks Julien !),pointed me to PowerDbg. PowerDbg is a PowerShell library that enables you to easily create PowerShell scripts to automate a WinDbg / CDB debugging session (further details here). This colleague sent to me a PowerDbg use case for debugging an ASP.Net application (inside an IIS worker process – w3wp.exe). I decided to build a full PowerShell version of this example (I removed some external depencies of the original version) and I propose it to you in this article (the source file is available here). In this example I load only 2 extensions – SOS and CLR – and I run only two commands – !pe and !ClrStack. You can add or customize the extensions you want to load and the related commands. The result is a CSV file looking like this one (output was truncated):
 powerdbg
If you want generate worker process dumps you can take a look at this two resources :

Laurent.


Feel free to share:)