2008-09-15 3 views
3

Ich arbeite an einer ASP.NET-Webanwendung, es scheint ordnungsgemäß zu funktionieren, wenn ich versuche, es in Visual Studio zu debuggen. Wenn ich schwere Last emuliere, stürzt IIS jedoch ohne jede Nachverfolgung ab - der Protokolleintrag im Systemjournal ist sehr generisch. "Der WWW-Publishing-Dienst wurde unerwartet beendet. Er hat dies 4 Mal ausgeführt." Wie ist es möglich, weitere Informationen von IIS zu erhalten, um dieses Problem zu beheben?IIS stürzt beim Bereitstellen einer ASP.NET-Anwendung unter hoher Last ab. Wie kann ich es beheben?

Antwort

0

Der Schlüssel ist "ohne jede Spur". Sie müssen Ihre eigene Ablaufverfolgungsprotokollierung einfügen, um etwas Geplapper zu erzeugen. Dann wirst du sehen können, wo das Geschwätz aufhört.

4

herunterladen Debugging-Tools für Windows: http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx

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

Der Befehl sollte so etwas wie sein (wenn Sie mit IIS 6):

cscript adplus.vbs -crash -pn w3wp.exe 

Dieser Befehl wird den Debugger an den Arbeiter befestigen verarbeiten. 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 zu lesen:

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

Verwandte Themen