Dove vengono archiviati i minidump di arresto anomalo in modalità utente di Windows 8?


18

Dove Windows 8 memorizza i minidump da arresti anomali in modalità utente?


Windows Vista e Windows 7 sono documentati (per impostazione predefinita) per archiviare un dump di arresto anomalo in :

%LOCALAPPDATA%\CrashDumps

Un fatto supportato da prove osservative:

inserisci qui la descrizione dell'immagine

Ma, quando un'applicazione si arresta in modo anomalo su Windows 8:

inserisci qui la descrizione dell'immagine

Non ci sono crash dump in %LOCALAPPDATA%\CrashDumps; non c'è nemmeno una CrashDumpscartella:

inserisci qui la descrizione dell'immagine

Il che porta alla domanda:

Dove Windows 8 memorizza i minidump da arresti anomali in modalità utente?

Nota: è possibile ignorare tutto dopo la prima riga; è solo riempitivo sprecato.


inserisci qui la descrizione dell'immagine


ho fatto un dir *.dmp /s, dir *.mdmp /sdalla cartella Windows , e la radice della cartella del mio profilo utente.
Ian Boyd,

Ti sei assicurato di non aver attivato i dump di arresto anomalo specifici dell'applicazione? Non ho avuto problemi a trovarli sul mio sistema. Ovviamente ho anche verificato che la funzione era attivata sul mio sistema.
Ramhound,

Dove li hai trovati sul tuo sistema? (Ho controllato due posizioni) Quali impostazioni per i dump di arresto anomalo WER hai attivato? (Ho controllato 3 impostazioni)
Ian Boyd,

Hai controllato il registro eventi? Di solito troverai il percorso verso le discariche lì. IIRC Windows li comprime (.dmp + .xml) in un file ZIP, quindi potrebbe anche essere nominato diversamente. Prova Win+Re quindi eventvwre ENTERper controllare il registro eventi.
0xC0000022L

1
@IanBoyd: dipende dalle impostazioni di sistema e non ho ancora familiarità con W8. Ti suggerisco di provare a trovare quel file la prossima volta mentre la finestra di dialogo WER è ancora aperta.
0xC0000022L

Risposte:


6

Ho osservato quanto segue con Windows 8.1 Professional:

Segnalazione errori Windows scrive: %ProgramData%\Microsoft\Windows\WER\

Tuttavia, per impostazione predefinita, non memorizza più permanentemente i dump sul computer locale. È necessario abilitare esplicitamente l'archiviazione dei dump.

Utilizzare l'Editor criteri di gruppo ( gpedit.msc): Computer Configuration -> Administrative Templates -> Windows Components -> Windows Error Reporting -> Advanced Error Reporting Settings

  1. Abilita la politica Configure Report Archive:

    • Comportamento in archivio = Memorizza tutto
    • Numero massimo = 100
  2. È inoltre possibile abilitare il criterio Do not throttle additional dataper inviare e archiviare dump per arresti anomali consecutivi con firma simile.

I dump si trovano nel file Report.cabdella sottocartella specifica per il crash.


4

Sembra essere molto semplice:

Sul mio computer Windows 8.1 non c'erano% LOCALAPPDATA% \ CrashDumps e non sono stati generati dump. Ho creato il seguente valore nel registro:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps]
DumpFolder=REG_EXPAND_SZ:"C:\Dumps"

(la sintassi sopra non è abbastanza per i file .reg, ma deve essere chiaro di cosa si tratta)

e la prossima volta che ho avuto un crash del mio programma, è stato generato il dump C:\Dumps.

Spero che questo possa essere d'aiuto.


2

Puoi cercare i file .dmp sul tuo computer. Ma se non ne trovi, continua a leggere.

Per le applicazioni Store, Windows 8 sembra raccogliere i crash-dump dell'applicazione sui server Microsoft, dove la loro durata di vita è piuttosto sconosciuta (il mio sospetto: 30 giorni e ho preso questo numero da qui ).

Per i dettagli, consulta l'articolo Miglioramento delle app con i rapporti sulla qualità .

In breve: puoi accedere ai rapporti sulla qualità tramite la "pagina di riepilogo dell'app" della tua app. Questa pagina fornisce un collegamento per il download di un file CAB contenente il dump del processo (!).

Non ho Windows 8 e la mia risposta sopra sembra pura follia da parte di Microsoft, ma questo fatto incredibile è quello che ho letto nella documentazione. Spero solo di sbagliarmi.



La situazione è ancora più Kafkaien di quanto potessi immaginare. Tornare a Windows 7 è un'opzione? Altrimenti, non hai altra scelta che acquistare una licenza Verisign o rinunciare ai crash-dump dell'applicazione.
harrymc,

Questa è una grande violazione della sicurezza per le app che gestiscono informazioni riservate, come password e chiavi private. Non vi è assolutamente alcun motivo per spedire discariche con le informazioni sensibili a società come Microsoft. Le informazioni sensibili non devono mai lasciare il limite di sicurezza, come l'app o il computer locale. Le forze dell'ordine e i criminali ringraziano Microsoft per aver reso facile la raccolta delle informazioni segrete.
JWW

0

È possibile ignorare la posizione in cui sono archiviati i file . corri regedit.exee vai a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps, crea un REG_EXPAND_SZcon il nome della cartella che ti piace usare (come C: \ dumps).


Questo non è necessario, poiché DumpFolder ha il valore predefinito di %LOCALAPPDATA%\CrashDumps. Ma evidentemente questo non ha alcun effetto per il poster su Windows 8.
harrymc,

dalla mia esperienza, l'override della cartella si assicura che i dump vengano scritti, il che non è il caso dell'impostazione predefinita.
magicandre1981,

Tutto è possibile con Windows 8 ... Speriamo che il poster possa essere in grado di fornire un feedback.
harrymc,

@harrymc La chiave di registro esiste; lo screenshot nella domanda originale mostra i mini dump.
Ian Boyd,

1
di nuovo, cambia il valore in qualcosa come C: \ dumps. Questo funziona per me da quando la funzionalità è stata aggiunta in Vista Sp1.
magicandre1981,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.