2010-11-08 8 views
5

Ho un processo .NET che a volte non riesce con AccessViolationException nel codice nativo di alcune librerie di terze parti.Come creare un mini dump di processo in caso di arresto anomalo senza eseguire esplicitamente AdPlus su Windows 7?

Desidero avere un mini dump di memoria completa quando ciò accade. Ho letto questa pagina - http://support.microsoft.com/kb/931673, la sezione "Per raccogliere i dump in modalità utente" e configurato il registro come spiegato nell'articolo. Tuttavia, quando si verifica l'arresto anomalo, viene creato un report molto piccolo - nessun file * .mdmp è in vista.

Ora, so come eseguire il processo da ADPLus o come farlo associare a un processo già in esecuzione. Ma richiede l'esecuzione esplicita di ADPLus.

Mi chiedevo come posso configurare Windows per eseguire ADPlus automaticamente, ogni volta che avvio il processo problematico non importa come viene avviato - da msbuild, doppio clic, da uno script console, ecc ...

Significato , quando si esegue aaaa.exe viene sostituito dall'esecuzione di ADPlus con alcuni flag che generano aaaa.exe con le rispettive opzioni della riga di comando.

So che ci sono dei flag di esecuzione dell'immagine in Windows, che lo fanno, ma non conosco i dettagli.

Grazie.

EDIT1

È importante conservare i parametri della riga di comando, quindi se aaa.exe viene eseguito con una bandiera, poi, naturalmente, lo stesso dovrebbe essere vero quando si esegue aaa.exe dal debugger .

+0

Qual è il vantaggio su Windows Error reporting (WER) configure d prendere discariche locali? http://msdn.microsoft.com/en-us/library/windows/desktop/bb787181%28v=vs.85%29.aspx –

+0

Nessuno, ma la domanda è stata posta 3 anni fa, probabilmente non conoscevo il WER allora. – mark

+0

@ThomasW. nel collegamento che hai fornito: "Le applicazioni che eseguono report personalizzati sugli arresti anomali, incluse le applicazioni .NET, non sono supportate da questa funzione" –

risposta

2

Non importa, l'ho trovato.

  1. Creare una chiave denominata dopo il processo (come aaa.exe) sotto HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Image File Execution Options
  2. Aggiungere un debugger valore di stringa con il valore ADPlus -crash -mss YourSymbolCacheFolderPath -MiniOnSecond -quiet -o YourDumpFolderPath -sc
Problemi correlati