… und es war nicht etwa wieder Prof. Dr. Moriarty
Wenn man unter Vista einen Crashdump benötigt dann sucht man DRWTSN32.EXE unter Vista vergeblich. Für die Qualitätssicherung sind mir Minidumps immer extrem wichtig.
Es stellt sich die nette Frage: Wie kommt man von einem Kunden dann an einen informativen Minidump, wenn man keinen WER-Account hat, oder das Programm nicht signiert war, oder gar der WER Server diese Dumps nicht anfordert?
Unter Vista ist alles noch einfacher und schwieriger geworden. Vista speichert leider nicht grundsätzlich Minidumps, aber es legt für Crashs unter Problemberichte und Lösungen einen eigenen Eintrag an. Zu Crashs von WER registrierten Programme werden hier evtl. direkt Lösungen oder Updates angeboten. Und auch Crashdumps werden hier mit abgelegt, wenn sie erzeugt werden..
So ist es unter Vista aus:
- Das WER System in Vista erzeugt normalerweise nur Minidumps für signierte Programme bzw. wenn der WER Server einen Crash abruft.
- Um immer einen Minidump zu erhalten muss in der Registry der folgende Wert gesetzt werden:
HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\ (DWORD) mit Namen ForceQueue erzeugen und auf 1 setzen. - Dumps werden im Benutzerverzeichnis unter C:\Users\TheUserName\AppData\Local\Temp und hier C:\ProgramData\Microsoft\Windows\WER\ReportQueue abgelegt und sind meistens gepackt. Sie erhalten die Endung *.mdmp.
- Der Zugriff kann ganz einfach erfolgen mit Systemsteuerung -> System und Wartung -> Problemberichte und Lösungen -> Probleme anzeigen und überprüfen
- Dort findet man das entsprechende Programm und die dazugehörigen entsprechenden Crashs.
- Weitere Infos einfach über Details anzeigen lassen.
- Wenn es einen Dump gibt, dann findet man hier wieder einen Eintrag Temporäre Kopie dieser Dateien anzeigen
- Damit lässt sich der Explorer öffnen und man erhält Zugriff auf die gespeicherten Daten.
- Diese kann man sich nun als Entwickler zusenden lassen.
Siehe auch:
- Andere Möglichkeiten werden auch in diesem KB-Artikel beschrieben: http://support.microsoft.com/kb/931673/en-us.
- Alle Einstellungen des Vista WER Systems sind hier beschrieben:
http://msdn.microsoft.com/en-us/library/bb513638(VS.85).aspx
Warum baust Du keinen Exception-Handler ein, der Dir die Dumps nach einem Crash (optional) per eMail zuschickt?
Sicher ist das auch ein Weg!
Aber warum muss man das machen, wenn es
1. WER sowieso selber tut (alle unsere Programme sind auf WinQual registriert)
2. für kleine Tools manchmal einfach Overkill ist. (Jaaaa man kann sich auch eine Mini-DLL schreiben…)
Dennoch Dr. Watson war „handsome“ und WER ist es „manchmal“ auch.
Ich wollte nur zeigen, dass der „alte“ Weg auch ncoh geht.
WinQual akzeptiert leider nur CodeSigning-Zertifikate von Verisign. Andere CAs (z.B. Thawte oder Globalsign) werden nicht akzeptiert, obwohl sie technisch gesehen das gleiche bewirken.