Gdzie Windows 8 przechowuje minidumpy awaryjne w trybie użytkownika?

18

Gdzie Windows 8 przechowuje minidumpy po awariach w trybie użytkownika?


Windows Vista i Windows 7 są udokumentowane (domyślnie) do przechowywania zrzutu awaryjnego w :

%LOCALAPPDATA%\CrashDumps

Fakt poparty dowodami obserwacyjnymi:

wprowadź opis zdjęcia tutaj

Ale gdy aplikacja ulega awarii w systemie Windows 8:

wprowadź opis zdjęcia tutaj

Brak zrzutów awaryjnych %LOCALAPPDATA%\CrashDumps; nie ma nawet CrashDumpsfolderu:

wprowadź opis zdjęcia tutaj

Co prowadzi do pytania:

Gdzie Windows 8 przechowuje minidumpy po awariach w trybie użytkownika?

Uwaga: Możesz zignorować wszystko po pierwszym wierszu; to tylko zmarnowany wypełniacz.


wprowadź opis zdjęcia tutaj

Ian Boyd
źródło
Zrobiłem dir *.dmp /s, dir *.mdmp /sz folderu Windows i katalogu głównego folderu profilu użytkownika.
Ian Boyd
Upewnij się, że nie masz włączonych zrzutów awaryjnych specyficznych dla aplikacji? Nie miałem problemu ze znalezieniem ich w moim systemie. Oczywiście zweryfikowałem również, że funkcja została włączona w moim systemie.
Ramhound
Gdzie je znalazłeś w swoim systemie? (sprawdziłem dwie lokalizacje) Jakie ustawienia zrzutów awaryjnych WER zostały włączone? (sprawdziłem 3 ustawienia)
Ian Boyd
Czy sprawdziłeś dziennik zdarzeń? Zazwyczaj znajdziesz tam ścieżkę do wysypisk. IIRC Windows pakuje je (.dmp + .xml) do pliku ZIP, więc może mieć również inną nazwę. Spróbuj, Win+Ra następnie eventvwri ENTERsprawdź dziennik zdarzeń.
0xC0000022L
1
@IanBoyd: zależy od ustawień systemowych i jeszcze nie znam zbyt dobrze W8. Sugeruję, aby spróbować znaleźć ten plik następnym razem, gdy okno dialogowe WER jest nadal otwarte.
0xC0000022L

Odpowiedzi:

6

W przypadku systemu Windows 8.1 Professional zaobserwowałem:

Raportowanie błędów systemu Windows zapisuje w: %ProgramData%\Microsoft\Windows\WER\

Jednak domyślnie nie zapisuje na stałe zrzutów na komputerze lokalnym. Musisz jawnie włączyć przechowywanie zrzutów.

Użyj edytora zasad grupy ( gpedit.msc): Computer Configuration -> Administrative Templates -> Windows Components -> Windows Error Reporting -> Advanced Error Reporting Settings

  1. Włącz zasadę Configure Report Archive:

    • Zachowanie archiwalne = Przechowuj wszystko
    • Maksymalna liczba = 100
  2. Możesz także włączyć zasady Do not throttle additional datawysyłania i przechowywania zrzutów dla kolejnych awarii z podobnym podpisem.

Zrzuty znajdują się w pliku Report.cabpodfolderu związanego z awarią.

paulgutten
źródło
4

Wydaje się to bardzo proste:

Na moim komputerze z systemem Windows 8.1 nie było% LOCALAPPDATA% \ CrashDumps i żadne zrzuty nie zostały wygenerowane. W rejestrze utworzyłem następującą wartość:

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

(powyższa składnia nie jest całkiem odpowiednia dla plików .reg, ale musi być jasne, co to jest)

i następnym razem miałem awarię mojego programu, zrzut został wygenerowany C:\Dumps.

Mam nadzieję, że to pomoże.

Siergiej
źródło
2

Możesz wyszukiwać pliki .dmp na swoim komputerze. Ale jeśli nie znajdziesz, czytaj dalej.

W przypadku aplikacji Store Windows 8 wydaje się zbierać zrzuty aplikacji na serwerach Microsoft, gdzie ich czas życia jest dość nieznany (moje podejrzenie: 30 dni i wybrałem ten numer stąd ).

Szczegółowe informacje można znaleźć w artykule Udoskonalanie aplikacji za pomocą raportów jakości .

Krótko mówiąc: dostęp do raportów jakości można uzyskać za pośrednictwem „strony podsumowania aplikacji”. Ta strona zawiera link Pobierz plik .cab zawierający zrzut procesu (!).

Nie mam systemu Windows 8 i moja powyższa odpowiedź wydaje się czystym szaleństwem ze strony Microsoftu, ale ten niewiarygodny fakt przeczytałem w dokumentacji. Mam tylko nadzieję, że się mylę.

harrymc
źródło
Sytuacja jest jeszcze bardziej Kafkaien, niż mogłem sobie wyobrazić. Czy powrót do systemu Windows 7 jest opcją? W przeciwnym razie nie masz innego wyboru, jak kupić licencję Verisign lub zrezygnować z zrzutów awaryjnych aplikacji.
harrymc
Jest to duże naruszenie bezpieczeństwa aplikacji obsługujących poufne informacje, takie jak hasła i klucze prywatne. Nie ma absolutnie żadnego powodu, aby wysyłać zrzuty z poufnymi informacjami do firm takich jak Microsoft. Informacje poufne nigdy nie powinny przekraczać granicy bezpieczeństwa, takiej jak aplikacja lub komputer lokalny. Organy ścigania i przestępcy dziękują Microsoftowi za ułatwienie gromadzenia tajnych informacji.
jww
0

Możesz zastąpić lokalizację przechowywania plików . uruchom regedit.exei przejdź do HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps, utwórz REG_EXPAND_SZnazwę o nazwie folderu, którego chcesz używać (np. C: \ dumps).

magicandre1981
źródło
Nie jest to konieczne, ponieważ DumpFolder ma domyślną wartość %LOCALAPPDATA%\CrashDumps. Ale najwyraźniej nie ma to wpływu na plakat w systemie Windows 8.
harrymc
z mojego doświadczenia przesłonięcie folderu upewnia się, że zrzuty są zapisywane, co nie ma miejsca w przypadku ustawienia domyślnego.
magicandre1981
W systemie Windows 8 wszystko jest możliwe ... Mam nadzieję, że plakat będzie w stanie przekazać informacje zwrotne.
harrymc
@harrymc Klucz rejestru istnieje; zrzut ekranu w oryginalnym pytaniu pokazuje mini zrzuty.
Ian Boyd
1
ponownie zmień wartość na coś w rodzaju C: \ dumps. Działa to dla mnie, ponieważ funkcja została dodana w Vista Sp1.
magicandre1981