Générer un fichier de vidage (« full memory dump ») avec Windows Error Reporting (WER)

Sous Windows 7 et Windows 2008/R2, DebugDiag ne permet pas de générer un fichier de vidage (« full memory dump ») lors du plantage d'un processus IIS7 (W3WP.EXE). A défaut d'utiliser DebugDiag, il est possible d'utiliser ADPLUS mais il est aussi envisageable d'utiliser Windows Error Reporting (WER) comme détaillé dans cet article : How To: Collect a Crash dump of an IIS worker process on IIS 7.0 (and above).

Ce blog ayant été écrit à la sortie de Windows Vista/ Windows 2008, il est nécessaire de faire certains ajustements pour être en mesure de générer correctement un fichier de vidage sans passer par l'utilisation de WERCON qui n'existe plus sous Windows 7 & 2008/R2.

Le fichier .REG ci-dessous permet de générer par WER jusqu'à 10 fichiers de vidage dans le répertoire c:\dumps :


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps]
"DumpFolder"=hex(2):63,00,3a,00,5c,00,64,00,75,00,6d,00,70,00,73,00,00,00
"DumpType"=dword:00000002
"DumpCount"=dword:0000000a


Pour de plus amples informations sur les valeurs utilisées, reportez-vous à la documentation Collecting User-Mode Dumps.

Remarque : comme précisé dans cet article , l'utilisation de la clé « LocalDumps » n'est pas prise en charge dans le cas où une exception non gérée se produit dans une application ASP.NET utilisant le framework .NET 3.5 ou inférieur ("The .net framework version 3.5 and below do not recognize this registry key. This means that if your process has some managed code and if some unhandled exception happens while managed code execution (the exception may be native or a CLR exception), the LocalDumps method will not get you dumps for the process. The functionality inside the .net CLR to read the LocalDumps registry key is added in .net framework 4.0. Because of this limitation, the LocalDump feature becomes less useful for an IIS worker process because most of the time an IIS worker process is running ASP.NET applications or some managed code").

Pour accéder directement aux outils « Problem Reports » & « Reliability history » vous pouvez utiliser l'astuce suivante :

  • Active le "GodMode" de Windows7 / Windows 2008 R2 en créant un dossier sur le bureau et en le renommant GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}

  • Double cliquer sur le dossier GodMode :

  • Créer un raccourci (click droit -> Create Shortcut) pour les fonctions « View All Problem Reports » et « Reliability history »
  • On dispose alors d'un accès rapide aux applications de suivi des plantages applicatifs :

Pour aller plus loin dans l'utilisation de WER, nous vous recommandons la lecture de l'excellent article d'Eric Vernié sur Les nouvelles API de Windows Vista et Windows Serveur 2008.

@bientôt,

Emmanuel Boersma