Processo Hung in Windows: C'è un modo per vedere perché?

Ho cercato di printingre un documento in parola e la parola si bloccò. C'è qualche modo per me vedere quale risorse sta aspettando?

Sto usando Windows XP e la parola 2007 (anche se immagino che la risposta non dipenda dal process che ha congelato)

Potresti voler esaminare Process Explorer . È ansible vedere quali processi di file / cartelle hanno una serratura.

Ciò richiede un po 'di conoscenze tecniche, ma è ansible analizzare il block con il (gratuito) debugger WinDbg di Windows. Ci vuole un certo lavoro per installare, attaccare al process e per get i simboli impostati (molto importnte!), Ma allora puoi trovare la causa del block con un singolo command WinDbg (enfatizzazione):

analizzare -v -hang

Questo è quello che non avevo incontrato prima. Eseguire questa operazione dopo aver aperto un dump da un process appeso e determinerà quale thread è stato responsabile del block e quello che stava aspettando. Sapevo che il windbg avrebbe potuto esaminare le maniglie, mostrare tutte le serrature aperte in ciascun filo e consentirle di esaminarle tutte in dettaglio. Ma non mi rendevo conto che con l'analisi, il windbg può fare il lavoro duro per me – esaminando le serrature aperte da tutti i thread, determinando quali thread attendono gli altri e costruendo un ordine di elaborazione che era inizialmente responsabile il block.

fonte

Anche il debug di Windows avanzato di Mario Hewardt, Daniel Pravat è un ottimo libro per iniziare con WinDbg: i primi capitoli forniscono una panoramica molto dettagliata dei debugger e come utilizzare specificamente WinDbg. Il resto del libro è riempito con dettagliati casi di debugging, che non è necessario leggere. Penso che ci sia un caso di studio che descrive come eseguire il debug di un hang che sarà di interesse per te, comunque.

Dopo aver trovato la causa del block, puoi persino essere in grado di rimuoverla con tecniche avanzate di debug ^^

Per quanto ne so, non lo è. Potresti colbind qualcosa come Wireshark per vedere se potresti trovare qualcosa nel traffico di networking per indicare quello che sta aspettando, ma è un po 'overkill e probabilmente non troverai nulla.

Dalla sua printing stai cercando, mi chiedo se la ricerca di networking di Windows è stata invocata e Word stava aspettando che tutte le printingnti di networking venissero mappate per una selezione.
Hai una printingnte collegata localmente? e, sei in un dominio di networking aziendale con printingnti condivise?

Guarda i video dell'esploratore di process " Il caso del 200x" in cui l'autore mostra la diagnosi di diversi scenari di risoluzione dei problemi, inclusi i blocchi. Ciò è anche in cui il crash forzato di ctrl-scrolllock-scrolllock può aiutare con la diagnosi.