Question

Je suis en train de faire quelque chose de mauvais dans mon ASP.NET app.Il pourrait être n'importe quel nombre de CTP bibliothèques que j'utilise ou que je suis juste de ne pas supprimer quelque chose correctement.Mais quand je redéployer mes ASP.NET pour mon Vista IIS7 installer ou de mon serveur IIS6 installer je crash d'un processus de travail IIS.

J'ai réduit le problème à mon HTTP robot, qui est un multithread bête qui rampe sites pour obtenir des informations utiles quand on le lui demande.Après je commence un robot d'indexation et de redéployer l'application sur le dessus, plutôt que d'gracieusement déchargement du domaine d'application et de rechargement, un processus de travail IIS se popping up un crash message) et de continuer à recharger le domaine de l'application.

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

Était-ce utile?

La solution

Télécharger les outils de Débogage pour Windows:http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx

Les Outils de débogage pour Windows a un script (ADPLUS) qui vous permet de créer des décharges lorsqu'un processus se bloque:http://support.microsoft.com/kb/286350

La commande doit être quelque chose comme (si vous utilisez IIS6):

cscript adplus.vbs -crash -pn w3wp.exe

Cette commande va attacher le débogueur au processus de travail.Lorsque l'incident se produit, il va générer un dump (une *.Fichier DMP).

Vous pouvez l'ouvrir dans WinDBG (également inclus dans les Outils de Débogage pour Windows).Fichier > Ouvrir un fichier de vidage sur incident...

Par défaut, WinDBG va vous montrer (à côté de la ligne de commande) le fil étaient le processus s'est écrasé.

La première chose que vous devez faire dans WinDBG est à la charge de l' .NET Framework extensions:

.loadby sos mscorwks

ensuite, vous afficherez la gestion de la pile:

!clrstack

si le fil n'était pas l'exécution de code managé, alors vous aurez besoin de vérifier le natif de la pile:

kpn 200

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

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

Autres conseils

Une recherche rapide trouvé IISState - elle repose sur le Outils de débogage de Windows et doit être en cours d'exécution lorsqu'un incident se produit, mais étant donné les circonstances que vous avez décrit, cela ne devrait pas être un problème,

Vous pouvez également utiliser DebugDiag pour cette

Une explication peut être trouvée ici:

http://blogs.msdn.com/b/tess/archive/2009/03/20/debugging-a-net-crash-with-rules-in-debug-diag.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top