2008-09-10 6 views
7

Je fais quelque chose de mal dans mon application ASP.NET. Ce pourrait être le nombre illimité de bibliothèques CTP que j'utilise ou je ne dispose pas de quelque chose correctement. Mais lorsque je redéploie mon ASP.NET dans mon installation Vista IIS7 ou l'installation IIS6 de mon serveur, je plante un processus de travail IIS.Récupération des vidages de plantage de l'IIS Worker

J'ai réduit le problème à mon robot d'exploration HTTP, qui est une bête multithread qui explore les sites pour obtenir des informations utiles lorsque cela lui est demandé. Après avoir démarré un robot d'exploration et redéployé l'application par dessus, plutôt que de décharger gracieusement appDomain et rechargement, un processus de travail IIS va planter (ouvrir un message d'erreur) et continuer à recharger le domaine de l'application.

Lorsque cet incident se produit, où puis-je trouver le vidage sur incident pour l'analyse?

+0

Ces [démos ] (http://blogs.msdn.com/tess/pages/net-debugging-demos-information-and-setup-instructions.aspx) devrait pouvoir vous aider. –

Répondre

15

outils Télécharger débogage pour windows: http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx

Outils de débogage pour windows a a un script (Adplus) qui vous permet de créer des décharges quand un brutal du processus: http://support.microsoft.com/kb/286350

La commande doit être Someth ing comme (si vous utilisez IIS6):

cscript adplus.vbs -crash -pn w3wp.exe 

Cette commande attacher le débogueur au processus de travail. Lorsque le crash se produit, il génère un vidage (un fichier * .DMP).

Vous pouvez l'ouvrir dans WinDBG (également inclus dans les outils de débogage pour Windows). Fichier> Ouvrir Crash dump ...

Par défaut, WinDBG vous montrera (à côté de la ligne de commande) le fil dans lequel le processus s'est écrasé. si le fil n'a pas été

!clrstack 

:

La première chose que vous devez faire WinDBG est de charger les extensions .NET Framework:

.loadby sos mscorwks 

alors, vous afficherez la gestion callstack exécuter le code managé, alors vous aurez besoin de vérifier la pile native:

kpn 200 

Cela devrait gi vous avez des idées. Pour continuer le dépannage je vous recommande de lire l'article suivant:

http://msdn.microsoft.com/en-us/library/ee817663.aspx

+1

FYI adplus.vbs a été remplacé par adplus.exe dans la version la plus récente des outils de débogage pour Windows. –

+1

Est-ce que ADPlus.exe attacher au processus w3p.exe? Je suppose donc .. mais que se passe-t-il si ce processus ** recycle **? –

+1

Puis-je utiliser adplus.vbs pour IIS 7 - 7.5? – Kiquenet

2

Une recherche rapide a trouvé IISState - il repose sur la Windows debugging tools et doit être en cours d'exécution quand un accident se produit, mais étant donné les circonstances que vous avez décrites, cela ne devrait pas être un problème,