Wie Sie eine Abbilddatei zu erstellen, wenn ASP.NET in IIS 6.0 deadlocks

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 828222 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Wenn einen Deadlock in Microsoft Internet Information Services (IIS) 6.0 auftritt, erscheint im Anwendungsprotokoll eine Meldung, die etwa folgenden Inhalts angezeigt:

Ereignistyp: Warnung
Ereignis Quelle: W3SVC-WP
Ereigniskategorie: Keine
Ereignis-ID: 2262
Datum: 7/29/2003
Zeit: 12: 08: 58 PM
Benutzer: nicht zutreffend
Computer: ComputerName
Beschreibung: ISAPI 'C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll' gemeldet selbst als fehlerhaft aus folgendem Grund: 'Deadlock erkannt'.

Darüber hinaus wird eine Meldung, die etwa folgenden Inhalts angezeigt im Systemprotokoll angezeigt:

Ereignistyp: Warnung
Quelle: W3SVC
Ereigniskategorie: Keine
Ereignis-ID: 1013
Datum: 7/29/2003
Zeit: 12: 09: 34 PM
Benutzer: nicht zutreffend
Computer: ComputerName
Beschreibung: Ein Prozess für Anwendungspool 'DefaultAppPool' Zeitlimits während überschritten heruntergefahren. Die Prozess-Id war '2756'.Weitere Weitere Informationen finden Sie im Hilfe- und Supportcenter unter http://support.microsoft.com

.

Generieren von Speicherabbilddateien für die Diagnose

IIS 6.0 verfügt über ein neues Feature, mit dem Namen zugeordneter Worker-Prozess. Mit diesem Feature können Sie einen Prozess zu überprüfen, an dem wiederverwendet werden, bevor der Prozess beendet wird. Der Arbeitsprozess zugeordneter kann einen Debugger an den Prozess anhängen und generieren eine Dumpdatei für die Untersuchung verwendet werden.

Hinweis: Dieses Feature ist nicht aktiviert, wenn Prozesse im IIS 5.0-Kompatibilitätsmodus ausführen.

Debugtools für Windows herunterladen

Debugtools für Windows herunterladen, finden Sie auf der folgenden Microsoft-Websites, je nach Ihrer Situation:

Windows 32-Bit-Version:
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx
Windows 64-Bit-Version:
http://www.microsoft.com/whdc/devtools/debugging/install64bit.mspx
Hinweis: Wenn Sie Debugtools für Windows installieren, stellen Sie sicher, dass die Dateien zum folgenden Verzeichnis speichern:
Unter "c:\Debuggers"

Erstellen Sie eine Batchdatei ausführen möchten, wenn ein Arbeitsprozess verwaist

  1. Starten Sie den Editor
  2. Legen Sie der folgende Code in Notepad.
    @if "%_echo%"=="" echo off
    setlocal
        set TIMESTAMP=%DATE:~-9%_%TIME%
    set TIMESTAMP=%TIMESTAMP:/=_%
    set TIMESTAMP=%TIMESTAMP::=_%
    set TIMESTAMP=%TIMESTAMP:.=_%
    set TIMESTAMP=%TIMESTAMP: =_%
    set FILENAME=c:\crash_PID_%1_%TIMESTAMP%.dmp
    set LOG=c:\log.txt
    set COMMAND=c:\debuggers\cdb.exe -c ".dump /o /ma %FILENAME%;q" -p %1
    
    echo %COMMAND% > %LOG%
    %COMMAND%
    
    endlocal
  3. Speichern Sie die Datei als FileName .cmd. In diesem Beispiel wird die Datei Action.cmd nennen. Jedoch können Sie die Datei benennen, wie Sie möchten.
Hinweis: Sie müssen möglicherweise so ändern Sie den Speicherort der Debugger und die Stelle, an die sich ergebende Speicherabbilddatei generiert werden soll.

Konfigurieren Sie die Einstellungen zugeordneter Worker-Prozess

  1. Geben Sie in die Eingabeaufforderung den folgenden Befehl ein, und drücken Sie anschließend die [EINGABETASTE]:
    CD-\Inetpub\adminscripts
  2. Um das Feature zugeordneter Worker-Prozess zu aktivieren, geben Sie den folgenden Befehl an der Eingabeaufforderung:
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanWorkerProcess TRUE
    
  3. Legen Sie die ausführbare Datei ausgeführt werden, wenn ein Prozess wiederverwendet werden geplant ist, an der Eingabeaufforderung. In diesem Fall verwenden beispielsweise die Batchdatei, die im Abschnitt "Erstellen einer Batch Datei zum Ausführen beim ein Worker Process ist verwaiste" erstellt wurde:
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanActionExe "c:\action.cmd"
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanActionParams "%1%" 
    
Hinweis: Stellen Sie sicher, dass die Option OrphanActionExe auf den Speicherort der Batchdatei verweist, die im Abschnitt "Erstellen eine Batchdatei auf Ausführen, wenn Sie ein Arbeitsprozess verwaiste ist" erstellt wurde. Außerdem stellen Sie sicher, dass die Identität des Prozesses W3wp.exe Berechtigungen Lesen und Ausführen auf diese Datei verfügt.

Hinweis: Wenn Sie IIS Worker-Prozesse zu debuggen, die als fehlerhaft gemeldet werden aktivieren, stellen Sie sicher, dass Sie diese freigegebenen Workerprozesse überwachen. IIS wird dieser Workerprozesse nicht automatisch aus dem Speicher entfernt. Wenn Sie diese Workerprozesse nicht ordnungsgemäß behandeln, können viele fehlgeschlagenen Arbeitsprozessen auf Ihrem Computer ausgeführt werden. Diese Arbeitsprozesse können Ressourcen belegen, die von anderen Prozessen benötigt werden. Diese Arbeitsprozesse schnell, um diese Ressourcen freizugeben, muss abgeschlossen werden. In bestimmten Bedingungen blockiert diese Arbeitsprozesse möglicherweise Zugriff auf die Metabasis. Dies führt zu Problemen mit anderen Arbeitsprozessen oder mit dem WWW-Dienst selbst.

Informationsquellen

Weitere Informationen finden Sie auf den folgenden Websites von Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms525365.aspx

http://msdn2.microsoft.com/en-us/library/ms524472.aspx

http://msdn2.microsoft.com/en-us/library/ms525700.aspx
Weitere Informationen dazu, wie einen Worker-Prozess zu debuggen, der als fehlerhaft gemeldet wird, finden Sie auf folgender Website von Microsoft:
http://technet2.microsoft.com/WindowsServer/en/library/37f477fc-c683-438b-ac11-17ad554fd59a1033.mspx?mfr=true

Eigenschaften

Artikel-ID: 828222 - Geändert am: Montag, 3. Dezember 2007 - Version: 8.6
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ASP.NET 1.1
  • Microsoft Internet Information Services 6.0
Keywords: 
kbmt kbdebug kbhowtomaster KB828222 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 828222
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com