Où Windows 8 stocke-t-il les mini-vidages sur incident en mode utilisateur?

18

Où Windows 8 stocke-t-il les minidumps des plantages en mode utilisateur?


Windows Vista et Windows 7 sont documentés pour (par défaut) stocker un vidage sur incident dans :

%LOCALAPPDATA%\CrashDumps

Un fait étayé par des preuves observationnelles:

entrez la description de l'image ici

Mais, lorsqu'une application se bloque sur Windows 8:

entrez la description de l'image ici

Il n'y a pas de vidage sur incident %LOCALAPPDATA%\CrashDumps; il n'y a même pas de CrashDumpsdossier:

entrez la description de l'image ici

Ce qui nous amène à la question:

Windows 8 stocke-t-il les minidumps des plantages en mode utilisateur?

Remarque: Vous pouvez ignorer tout après la première ligne; c'est juste du gâchis.


entrez la description de l'image ici

Ian Boyd
la source
j'ai fait un dir *.dmp /s, à dir *.mdmp /spartir du dossier Windows et de la racine de mon dossier de profil utilisateur.
Ian Boyd
Vous êtes-vous assuré que les vidages sur incident spécifiques à l'application ne sont pas activés? Je n'ai eu aucun problème à les trouver sur mon système. Bien sûr, j'ai également vérifié que la fonctionnalité était activée sur mon système.
Ramhound
Où les avez-vous trouvés sur votre système? (J'ai vérifié deux emplacements) Quels paramètres pour les vidages sur incident WER avez-vous activés? (J'ai vérifié 3 paramètres)
Ian Boyd
Avez-vous vérifié le journal des événements? Habituellement, vous y trouverez le chemin vers les décharges. IIRC Windows les regroupe (.dmp + .xml) dans un fichier ZIP, de sorte qu'il pourrait également être nommé différemment. Essayez Win+Rpuis eventvwret ENTERpour vérifier le journal des événements.
0xC0000022L
1
@IanBoyd: dépend des paramètres système et je ne connais pas encore bien W8. Je vous suggère d'essayer de trouver ce fichier la prochaine fois alors que la boîte de dialogue WER est toujours ouverte.
0xC0000022L

Réponses:

6

J'ai observé ce qui suit avec Windows 8.1 Professionnel:

Le rapport d'erreurs Windows écrit dans: %ProgramData%\Microsoft\Windows\WER\

Cependant, par défaut, il ne stocke plus de façon permanente les vidages sur l'ordinateur local. Vous devez activer explicitement le stockage des vidages.

Utilisez l'éditeur de stratégie de groupe ( gpedit.msc): Computer Configuration -> Administrative Templates -> Windows Components -> Windows Error Reporting -> Advanced Error Reporting Settings

  1. Activez la stratégie Configure Report Archive:

    • Comportement de l'archive = Tout stocker
    • Nombre max = 100
  2. Vous pouvez également vouloir activer la stratégie Do not throttle additional datapour envoyer et stocker des vidages pour des plantages consécutifs avec une signature similaire.

Les vidages se trouvent dans le fichier Report.cabdu sous-dossier spécifique au crash.

paulgutten
la source
4

Cela semble très simple:

Sur ma machine Windows 8.1, il n'y avait pas de% LOCALAPPDATA% \ CrashDumps et aucun vidage n'a été généré. J'ai créé la valeur suivante dans le Registre:

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

(la syntaxe ci-dessus n'est pas tout à fait pour les fichiers .reg, mais il doit être clair de quoi il s'agit)

et la prochaine fois que j'ai eu un plantage de mon programme, le vidage a été généré C:\Dumps.

J'espère que ça aide.

Sergei
la source
2

Vous pouvez rechercher des fichiers .dmp sur votre ordinateur. Mais si vous n'en trouvez pas, continuez à lire.

Pour les applications du Store, Windows 8 semble collecter les vidages sur incident des applications sur les serveurs Microsoft, où leur durée de vie est assez inconnue (mon soupçon: 30 jours et j'ai récupéré ce nombre d' ici ).

Pour plus de détails, consultez l'article Amélioration des applications avec des rapports de qualité .

En bref: vous accédez aux rapports sur la qualité via la «page de résumé de l'application» de votre application. Cette page fournit un lien de téléchargement pour un fichier .cab contenant le vidage de processus (!).

Je n'ai pas Windows 8, et ma réponse ci-dessus semble être une pure folie de la part de Microsoft, mais ce fait incroyable est ce que j'ai lu dans la documentation. J'espère juste que je me trompe.

harrymc
la source
La situation est encore plus kafkaienne que je ne pouvais l'imaginer. Revenir à Windows 7 est-il une option? Sinon, vous n'avez pas d'autre choix que d'acheter une licence Verisign ou d'abandonner les vidages sur incident des applications.
harrymc
Il s'agit d'une grande faille de sécurité pour les applications qui gèrent des informations sensibles, comme les mots de passe et les clés privées. Il n'y a absolument aucune raison d'envoyer des décharges contenant des informations sensibles à des sociétés comme Microsoft. Les informations sensibles ne doivent jamais quitter la frontière de sécurité, comme l'application ou la machine locale. Les forces de l'ordre et les criminels remercient Microsoft d'avoir facilité la collecte des informations secrètes.
6h05
0

Vous pouvez remplacer l'emplacement où les fichiers sont stockés . exécutez regedit.exeet allez à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps, créez un REG_EXPAND_SZavec le nom du dossier que vous souhaitez utiliser (comme C: \ dumps).

magicandre1981
la source
Ce n'est pas nécessaire, car DumpFolder a la valeur par défaut de %LOCALAPPDATA%\CrashDumps. Mais évidemment cela n'a aucun effet pour l'affiche sur Windows 8.
harrymc
d'après mon expérience, la redéfinition du dossier garantit que les vidages sont écrits, ce qui n'est pas le cas pour le paramètre par défaut.
magicandre1981
Tout est possible avec Windows 8 ... Heureusement, l'affiche pourrait être en mesure de donner ici quelques commentaires.
harrymc
@harrymc La clé de registre existe; la capture d'écran de la question d'origine montre les mini vidages.
Ian Boyd
1
encore une fois, changez la valeur en quelque chose comme C: \ dumps. Cela fonctionne pour moi depuis que la fonctionnalité a été ajoutée dans Vista Sp1.
magicandre1981