Hung-Prozess in Windows: Gibt es eine Möglichkeit zu sehen, warum?


11

Ich habe versucht, ein Dokument in Wort zu drucken, und das Wort ist eingefroren. Kann ich sehen, auf welche Ressource es wartet?

Ich verwende Windows XP und Word 2007 (obwohl ich mir vorstelle, dass die Antwort nicht von dem Prozess abhängt, der eingefroren ist).


1
Nathan, ich denke du hast doppelt gepostet, superuser.com/questions/10085 .
James McMahon

Ich tat! Wie peinlich!
Nathan Fellman

Antworten:


13

Dies erfordert ein wenig technisches Wissen, aber es ist möglich, Hänge mit dem (kostenlosen) Windows-Debugger WinDbg zu analysieren . Das Installieren, Anhängen an den Prozess und das Einrichten der Symbole erfordert einige Arbeit (sehr wichtig!), Aber dann können Sie die Ursache des Hängens mit einem einzigen WinDbg-Befehl finden (Hervorhebung von mir):

analysiere -v -hang

Dies ist die, auf die ich vorher noch nicht gestoßen war. Führen Sie dies aus, nachdem Sie einen Speicherauszug aus einem blockierten Prozess geöffnet haben, und bestimmen Sie, welcher Thread für den Hang verantwortlich war und worauf er gewartet hat. Ich wusste, dass Sie mit windbg Griffe untersuchen, alle in jedem Thread geöffneten Schlösser anzeigen und sie alle im Detail untersuchen können. Aber ich wusste nicht, dass windbg mit! Analysis die harte Arbeit für mich erledigen kann - Sperren untersuchen, die von allen Threads offen gehalten werden, bestimmen, welche Threads auf welche anderen warten, und einen Auftrag zum Ausarbeiten aufbauen, für den sie ursprünglich verantwortlich waren der Hang.

Quelle

Daniel Pravat, ebenfalls Advanced Windows Debugging von Mario Hewardt, ist ein sehr gutes Buch, um Ihnen den Einstieg in WinDbg zu erleichtern: Die ersten Kapitel geben einen sehr detaillierten Überblick über Debugger und die spezielle Verwendung von WinDbg. Der Rest des Buches enthält detaillierte Debugging-Fallstudien, die Sie nicht lesen müssen. Ich denke, es gibt eine Fallstudie, in der beschrieben wird, wie Sie einen Hang debuggen, der Sie jedoch interessieren wird.

Nachdem Sie die Ursache für den Hang gefunden haben, können Sie ihn möglicherweise sogar mit fortgeschritteneren Debugging-Techniken aufhängen ^^


Die erwähnte Fallstudie finden Sie in Kapitel 14 des Buches, Abschnitt "! Analyde Extension Command". Es enthält sehr detaillierte und nützliche Informationen zur Interpretation der WinDbg-Ausgabe.
Claudiu

12

Möglicherweise möchten Sie einen Blick in den Prozess-Explorer werfen . Sie können sehen, welche Dateien / Ordner-Prozesse gesperrt sind.


Wenn Sie auf einen Prozess doppelklicken, können Sie sogar einzelne Threads und deren CPU-Auslastung anzeigen.
Itsadok

1
Guter Vorschlag, aber beachten Sie, dass dies Ihnen sagt, welche Objekte der Prozess geöffnet hat und nicht worauf er wartet.
Graeme Perrow

0

Soweit ich weiß, gibt es keine. Sie könnten so etwas wie Wireshark anschließen, um zu sehen, ob Sie im Netzwerkverkehr etwas finden, das anzeigt, worauf es wartet, aber es ist ziemlich übertrieben und kaum wahrscheinlich, dass Sie etwas finden würden.


0

Seit dem Druck, den Sie versucht haben, frage ich mich, ob die Windows-Netzwerksuche aufgerufen wurde und Word nur darauf wartete, dass alle Netzwerkdrucker für eine Auswahl zugeordnet wurden.
Haben Sie einen lokal angeschlossenen Drucker? und befinden Sie sich in einer Unternehmensnetzwerkdomäne mit freigegebenen Druckern?


0

Sehen Sie sich die Videos des Prozess-Explorers " Der Fall des 200x" an, in denen der Autor die Diagnose mehrerer Szenarien zur Fehlerbehebung einschließlich Hängen zeigt. Hier kann auch der erzwungene Absturz von Strg-Scrolllock-Scrolllock bei der Diagnose helfen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.