Come posso guardare un processo e produrre un minidump quando si schianta (come Procdump)?

StackOverflow https://stackoverflow.com/questions/7424528

  •  30-10-2019
  •  | 
  •  

Domanda

Ho trovato una serie di post su come creare manualmente un dump di crash quando richiesto, ma quello che vorrei fare è garantire che un dump di crash venga prodotto quando un'applicazione monitorata si arresta.

Lo strumento Procdump TechNet può farlo perfettamente. Quello che vorrei sapere è come posso scrivere un codice per fare la stessa cosa in un mio programma di gestione in modo da creare un file di dump solo quando si verifica un'eccezione.

Il mio programma è un'app di servizio che conosce gli ID di processo dei programmi che desidero monitorare.

Solo per chiarire, voglio imitare ciò che questa chiamata a Procdump farebbe:

procdump -e someprocess.exe -w

Teoricamente Windows dovrebbe essere in grado di fare questo lavoro per me con Drwatson. Il problema che ho è che ho circa 200 sistemi clienti in esecuzione che rivendicano i nostri arresti anomali in modo casuale. Il dott. Watson non sembra confermare il fatto che le nostre applicazioni si stanno arrestando, quindi ho deciso che preferirei avere la generazione di dump Crash controllata dal nostro software.

Sono riuscito a ottenere le mie applicazioni per creare le proprie dump usando __try/Tranm e MinIdumpWritemp () con il minidumpwithfullmemory Tipo .. ma non riesco a guardare le variabili locali ecc. è stato attivato dall'interno dell'applicazione stessa .. quindi ... un altro motivo per cui vorrei un tipo di applicazione monitor/gestione per fare il lavoro.

Per lo meno .. Come può un'applicazione reagire a un'altra applicazione che si blocca? Devi installare una sorta di hook di debug o fingere che il programma di gestione sia in realtà un debugger personalizzato?

Saluti

Nessuna soluzione corretta

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