Processus suspendu dans Windows: existe-t-il un moyen de comprendre pourquoi?

11

J'ai essayé d'imprimer un document en Word, et le mot s'est figé. Existe-t-il un moyen pour moi de voir quelle ressource il attend?

J'utilise Windows XP et Word 2007 (bien que j'imagine que la réponse ne dépend pas du processus qui a gelé)

Nathan Fellman
la source
1
Nathan, je pense que vous avez posté deux fois, superuser.com/questions/10085 .
James McMahon
J'ai fait! Que c'est embarrassant!
Nathan Fellman

Réponses:

13

Cela nécessite un peu de connaissances techniques, mais il est possible d'analyser les blocages avec le débogueur Windows (gratuit) WinDbg . Cela nécessite un peu de travail pour installer, attacher au processus et obtenir les symboles mis en place (très important!) Mais alors vous pouvez trouver la cause du blocage avec une seule commande WinDbg (accent sur le mien):

analyser -v -hang

C'est celui que je n'avais jamais rencontré auparavant. Exécutez cela après avoir ouvert un vidage à partir d'un processus bloqué, et il déterminera quel thread était responsable du blocage et ce qu'il attendait. Je savais que windbg pouvait vous permettre d'examiner les poignées, d'afficher tous les verrous ouverts dans chaque thread et de les examiner tous en détail. Mais je ne savais pas qu'avec! Analyse, windbg peut faire le travail dur pour moi - examiner les verrous maintenus ouverts par tous les threads, déterminer quels threads attendent quels autres, et établir un ordre de travail qui était initialement responsable de le coup.

la source

Aussi le débogage Windows avancé par Mario Hewardt, Daniel Pravat est un très bon livre pour vous aider à démarrer avec WinDbg: les premiers chapitres donnent un aperçu très détaillé des débogueurs et comment utiliser WinDbg spécifiquement. Le reste du livre est rempli d'études de cas de débogage détaillées, que vous n'avez pas à lire. Je pense qu'il y a une étude de cas décrivant comment déboguer un blocage qui vous intéressera cependant.

Après avoir trouvé la cause du blocage, vous pourrez peut-être même le supprimer avec des techniques de débogage plus avancées ^^

Leftium
la source
L'étude de cas à laquelle on se réfère se trouve au chapitre 14 du livre, section "! Analyse la commande d'extension". Il contient des informations très détaillées et utiles sur la façon d'interpréter la sortie de WinDbg.
Claudiu
12

Vous voudrez peut-être examiner Process Explorer . Vous pouvez voir quels processus de fichiers / dossiers sont verrouillés.

James McMahon
la source
Et si vous double-cliquez sur un processus, vous pouvez même voir les threads individuels et leur utilisation du processeur.
itsadok
1
Bonne suggestion, mais notez que cela vous indiquera quels objets le processus a ouverts, pas ce qu'il attend.
Graeme Perrow
0

Pour autant que je sache, il n'y en a pas. Vous pouvez connecter quelque chose comme Wireshark pour voir si vous pouvez trouver quelque chose dans le trafic réseau pour indiquer ce qu'il attend, mais c'est un peu exagéré et il est peu probable que vous trouviez quoi que ce soit.

Stefan Thyberg
la source
0

Depuis son impression que vous essayez, je me demande si la recherche de réseau Windows a été invoquée et que Word attendait simplement que toutes les imprimantes réseau soient mappées pour une sélection.
Avez-vous une imprimante connectée localement? et, êtes-vous sur un domaine de réseau d'entreprise avec des imprimantes partagées?

nik
la source
0

Regardez les vidéos de l'explorateur de processus " Le cas du 200x" dans lesquelles l'auteur montre le diagnostic de plusieurs scénarios de dépannage, y compris les blocages. C'est également là que le crash forcé ctrl-scrolllock-scrolllock peut aider au diagnostic.

kpierce8
la source