2008-09-10 2 views
7

Ich mache etwas schlechtes in meiner ASP.NET-App. Es könnte eine beliebige Anzahl von CTP-Bibliotheken sein, die ich benutze, oder ich ordne einfach nichts richtig ab. Aber wenn ich meinen ASP.NET auf meine Vista IIS7-Installation oder die IIS6-Installation meines Servers neu implementiere, stürze ich einen IIS-Arbeitsprozess ab.Abrufen von IIS-Arbeitsprozessabstürzen

Ich habe das Problem auf meinen HTTP-Crawler beschränkt, der ein Multithread-Biest ist, das Websites nach nützlichen Informationen durchsucht, wenn sie dazu aufgefordert werden. Nachdem ich einen Crawler gestartet und die Anwendung erneut über die Bereitstellung bereitgestellt habe, anstatt die AppDomain ordnungsgemäß entladen und neu geladen zu haben, stürzt ein IIS-Arbeitsprozess ab (Fehlermeldung wird angezeigt) und lädt die App-Domäne erneut.

Wenn dieser Absturz auftritt, wo finde ich den Absturzspeicher für die Analyse?

+0

Diese [Demos ] (http://blogs.msdn.com/tess/pages/net-debugging-demos-information-and-setup-instructions.aspx) sollte Ihnen helfen können. –

Antwort

15

herunterladen Debugging-Tools Fenster: http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx

Debugtools für Windows hat ein Skript (Adplus), die Sie Dumps zu erstellen, wenn ein Prozess abstürzt erlaubt: http://support.microsoft.com/kb/286350

Der Befehl someth sein sollte wie (wenn Sie IIS6 verwenden):

cscript adplus.vbs -crash -pn w3wp.exe 

Dieser Befehl wird den Debugger an den Arbeitsprozess anhängen. Wenn der Absturz auftritt, wird ein Dump (eine * .DMP-Datei) generiert.

Sie können es in WinDBG (auch in den Debugging Tools für Windows enthalten) öffnen. Datei> Open Crash dump ...

Standardmäßig zeigt WinDBG Ihnen (neben der Befehlszeile) den Thread, bei dem der Prozess abgestürzt ist.

Das erste, was Sie in WinDBG tun müssen, ist die .NET Framework-Erweiterungen zu laden:

.loadby sos mscorwks 

dann werden Sie das verwaltete Aufrufliste angezeigt werden:

!clrstack 

wenn der Faden nicht war Wenn Sie verwalteten Code ausführen, müssen Sie den nativen Stack überprüfen:

kpn 200 

Dies sollte gi Ich habe ein paar Ideen. Um weiterhin zur Fehlerbehebung Ich empfehle Ihnen, den folgenden Artikel lesen:

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

+1

FYI adplus.vbs wurde durch adplus.exe in der neuesten Version von Debugging-Tools für Windows ersetzt. –

+1

Hat ADPlus.exe an den Prozess w3p.exe anhängen? Ich gehe davon aus ... aber was passiert, wenn dieser Prozess ** recycelt **? –

+1

Kann ich adplus.vbs für IIS 7 - 7.5 verwenden? – Kiquenet

2

Eine schnelle Suche gefunden IISState - es auf dem Windows debugging tools verlässt sich und laufen werden muss, wenn ein Absturz auftritt, aber die Umstände, die Sie beschrieben haben gegeben, das ist ein Problem, nicht sein sollte für