Domanda

Dato che Windows Vista, abbiamo la bella opzione per creare un dump della memoria di un processo direttamente da Task Manager. Purtroppo, Windows Server 2003 non ha questa opzione ancora :( Ho trovato il modo di fare un'immagine della memoria completa a livello di sistema, ma questo è un po 'troppo.

C'è un modo per scaricare un singolo processo? Poiché si tratta di un server di produzione, non voglio installare attrezzi pesanti o e di servizio che viene eseguito in background, idealmente vorrei solo per scaricare il processo, copiare la discarica alla mia propria macchina ed eseguire il debug lì.

È stato utile?

Soluzione

Sì, cercare userdump.exe. Vedere questo KB articolo .

Altri suggerimenti

È possibile collegare il debugger di Windows (NTSD o WinDbg) per proccess, poi quando si desidera creare un dump del processo è possibile utilizzare il comando .dump:

0:000> .dump /ma myprocess-crash.dmp
Creating myprocess-crash.dmp - mini user dump
Dump successfully written
0:000>

Credo che questo 'risposta' dovrebbe essere un commento sotto la risposta di jeffamaphone ma non hanno abbastanza reputazione per commentare.

Windows Server 2003 viene fornito con ntsd quindi non c'è bisogno di installare nulla. Ottenere l'ID di processo del processo e allegare ntsd al processo:

C:> ntsd -p 4356

Quindi utilizzare ntsd per scaricare il processo:

.dump /f c:\MyDumpFiles\foo.dmp

Non dimenticare ProcDump da sysinternals.com (reindirizza a MS in quanto hanno comprato loro un paio di anni fa). Molto piccolo download.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top