Wie man w3wp clr.dll Fehler zu debuggen
Mein Kunde ein ASP.NET Anwendung installiert auf zwei produktiven Servern (ausgewogen mit NLB, aber das ist irrelevant).
Beide Server crash alle 3-4 Stunden, mit der folgenden Ereignis-viewer protokolliert Fehler:
Name der fehlerhaften Anwendung: w3wp.exe, version: 7.5.7601.17514, Zeitstempel: 0x4ce7afa2
Fehlgeschlagenes Modul name: clr.dll version: 4.0.30319.18034, Zeitstempel: 0x50b5a783
Ausnahmecode: 0xc00000fd Fehleroffset: 0x000000000001a840
Fehlgeschlagene Prozess-id: 0xd50
Fehlgeschlagene Anwendung Startzeit: 0x01ce97fe076d27b4
Fehlgeschlagene Anwendung Pfad: c:\windows\system32\inetsrv\w3wp.exe
Fehlgeschlagenes Modul Pfad: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll Berichts-Id: e0c90a5f-0455-11e3-8f0e-005056891553
Ich habe keine Ahnung, wie debug oder wo zu beginnen. Wenn der Absturz ist zu geschehen, die server-Prozessor-Auslastung springt auf 100% und bleibt dort. Der Prozess Schuld ist w3wp.exe. Ich bin mir auch nicht sicher, ob mein code, der den Fehler generiert oder nicht. Es ist IIS 7.5. Alle Zeiger wäre sehr dankbar.
InformationsquelleAutor der Frage cristi71000 | 2013-08-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht es aus wie Sie haben eine StackOverflow-Exception, welche verursacht wird durch unbegrenzte Rekursion (eine Funktion mehrmals aufrufen, sich selbst, etc). Das kann nicht sein gefangen durch regelmäßige try/catch-block. Sie können verfolgen, das problem mit DebugDiag und WinDbg.
DebugDiag kann so konfiguriert werden, generieren einen crash-dump, wenn der StackOverflowException Auftritt. Download unter https://www.microsoft.com/en-us/download/details.aspx?id=49924.
Nächsten Zeit eine StackOverflowException Auftritt, musst du einen crash-dump. Jetzt zu interpretieren muss der dump-Datei.
Debugging tools für Windows ist Bestandteil des Windows SDK und kann heruntergeladen werden unter http://msdn.microsoft.com/en-US/windows/hardware/gg463009/.
SRV*your local folder for symbols*http://msdl.microsoft.com/download/symbols
jedoch, ich setzen Sie einfach in den lokalen Ordner für die Symbole und es funktionierte gut..loadby sos clr
!CLRStack
In den Ergebnissen, es sollte klar sein, was das problem ist (Sie werden wahrscheinlich sehen eine Menge von Linien zeigen die Funktion(en) , wurde immer wieder genannt).
InformationsquelleAutor der Antwort MikeSmithDev
Einige neben der oben genannten Antwort.
Entwickeln, Explorer-Erweiterung, die Fehler bei der Anmeldung des Benutzers. Also für den Benutzer sieht es "blinkende Bildschirm" (während der explorer versucht zu starten und Abstürzen, dann neu starten, etc).
Angemeldet unter einem anderen Benutzerkonto installiert DebugDiag und WinDbg.
Ich verwende Windows 8.1 mit .Net 4.0 mit allen neuesten updates auf heute (Jan 13, 2014)
Versucht download paar Symbole lokal, aber WinDbg kann'not clr laden.pdb-wegen der falschen signaure.
Gelöst durch die Verwendung von Symbolen online - Nutzung "SRV*http://msdl.microsoft.com/download/symbols" als Symbole Weg.
InformationsquelleAutor der Antwort Arkady Marchenko
Eine andere Ursache könnte die "unendliche rekursiv-Funktion". Wann tritt infitine loop Windows versuchen zu avoidence deadlock und deaktivieren bezogenen Anwendung pool.
Traf ich dasselbe Problem heute. Ich habe eine rekursive Funktion, die die Liste parentproject-sub-Projekt. Ein Projekt ist setted sich übergeordneten Projekt, und wenn recusive-Funktion versuchen, eine Liste aller parent-sub-Projekt, Endlosschleife erfolgt.
InformationsquelleAutor der Antwort Dreamcatcher
War ich in der Lage, überprüfen Sie die Ereignisanzeige -> Windows-Protokolle -> System und finden
Unten:
Und:
Mindestens die QueueMonitor service ist ein Ort, um zu starten.
InformationsquelleAutor der Antwort sirdank