Comment déboguer w3wp clr.dll erreur
Mon client a une ASP.NET application installée sur deux serveurs de production (équilibré avec équilibrage de charge réseau, mais c'est sans importance).
Les deux serveurs crash toutes les 3 à 4 heures à la suite de l'observateur d'événements d'erreur enregistré:
Défaillant nom de l'application: w3wp.exe version: 7.5.7601.17514, horodatage: 0x4ce7afa2
Nom du module défaillant: clr.dll version: 4.0.30319.18034, horodatage: 0x50b5a783
Code d'Exception: 0xc00000fd décalage d'erreur: 0x000000000001a840
Id du processus défaillant: 0xd50
Application défaillante heure de début: 0x01ce97fe076d27b4
Défaillant chemin de l'application: c:\windows\system32\inetsrv\w3wp.exe
Chemin d'accès du module défaillant: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll Id de Rapport: e0c90a5f-0455-11e3-8f0e-005056891553
Je n'ai aucune idée de comment déboguer ou par où commencer. Lorsque l'accident est sur le point de se passer de l'utilisation du processeur de serveur saute à 100% et y reste. Le processus fautif est w3wp.exe. Je ne suis même pas sûr si mon code est la génération de l'erreur ou non. C'est IIS 7.5. Tous les pointeurs serait grandement apprécié.
Vous devez vous connecter pour publier un commentaire.
Il semble que vous avez un StackOverflow Exception, qui est causée par la surabondance de la récursivité (à plusieurs reprises une fonction appelant elle-même, etc). Ce ne peut pas être attrapé par la régularité de bloc try/catch. Vous pouvez localiser le problème à l'aide de DebugDiag et WinDbg.
DebugDiag peut être configuré pour générer un fichier de vidage sur incident lors de la StackOverflowException se produit. Télécharger au https://www.microsoft.com/en-us/download/details.aspx?id=49924.
Prochaine fois qu'un StackOverflowException se produit, vous aurez un fichier de vidage sur incident. Maintenant, à la nécessité d'interpréter le fichier de vidage.
Outils de débogage pour Windows est une partie du kit de développement logiciel Windows et peut être téléchargé à l' http://msdn.microsoft.com/en-US/windows/hardware/gg463009/.
SRV*your local folder for symbols*http://msdl.microsoft.com/download/symbols
, cependant je viens de mettre dans le dossier local pour les symboles et il a bien fonctionné..loadby sos clr
!CLRStack
Dans les résultats, il devrait être clair que le problème est (vous l'aurez probablement voir un TAS de lignes montrant les fonction(s) qui a été à plusieurs reprises d'être appelé).
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ntdll.dll - This dump file has an exception of interest stored in it. The stored exception information can be accessed via .ecxr. ...*** ERROR: Symbol file could not be found. Defaulted to export symbols for clr.dll - *** WARNING: Unable to verify checksum for mscorlib.ni.dll *** ERROR: Module load completed but symbols could not be loaded for mscorlib.ni.dll
OS Thread Id: 0xdd0 (42) Child SP IP Call Site 0000000011b1ef48 000007fef7a5c91b [GCFrame: 0000000011b1ef48] 0000000011b1ef88 000007fef7a5c91b [ContextTransitionFrame: 0000000011b1ef88] 0000000011b1efc8 000007fef7a5c91b [GCFrame: 0000000011b1efc8] 0000000011b1f1b0 000007fef7a5c91b [ComMethodFrame: 0000000011b1f1b0]
.loadby sos clr
et puis!CLRStack
a fallu un certain temps pour charger et de sortie d'un grand nombre de données.... le défilement à travers elle m'des centaines d'appels à la fonction même qui m'a montré où trouver de la récursivité. Vous pouvez également être en mesure d'ouvrir le fichier dans visual studio.Certains plus de la réponse ci-dessus.
Développer l'extension de l'Explorateur qui a reçu l'erreur lors de la connexion de l'utilisateur. Donc, pour l'utilisateur, il semble "clignotement de l'écran" (alors que l'explorateur essaie de démarrer et de crash, puis redémarrer etc).
Connecté sous un autre compte d'utilisateur installé DebugDiag et WinDbg.
Je suis sous Windows 8.1 avec .Net 4.0 avec toutes les dernières mises à jour aujourd'hui (13 janvier 2014)
Essayé de télécharger quelques symboles localement, mais WinDbg peut'not charge clr.apb en raison de mauvaises signaure.
Résolu à l'aide de symboles en ligne - l'utilisation "SRV*http://msdl.microsoft.com/download/symbols" en tant que symboles de chemin.
Une autre cause pourrait "infini de façon récursive de la fonction". Quand est infitine boucle de Windows pour essayer de avoidence de blocage et de désactiver releated application de la piscine.
J'ai rencontré le même problème aujourd'hui. J'ai une fonction récursive qui liste parentproject-sous-projet. Un projet est placé lui-même parent de projet et quand recusive fonction d'essayer de la liste de tous les parent-sous-projet, boucle infinie se passe.
J'ai été en mesure de vérifier de l'Observateur d'Événements -> Journaux Windows -> Système et de trouver des
Ci-dessous que:
Et:
Au moins le QueueMonitor service est un endroit pour commencer.