Ich verlasse mich auf Windows Error Reporting, um vollständige Benutzer-Modus-Dumps für eine große Multithread-Anwendung zu erstellen. Ich weiß, dass, als ich anfing es zu verwenden (Anfang 2012) diese Dumps alle Anwendungsspeicher und vollständige Stapel für alle Threads enthielten, die genau für die Zeit waren, als die Anwendung abstürzte (warf die unbehandelte Ausnahme usw.). Aber zu einem unbekannten Zeitpunkt im letzten Jahr haben sich die von WER erstellten Crash-Dumps geändert. Sie enthalten immer noch den gesamten Speicher, sondern nur ein Thread zeigen, und der Stapel wird von nach der Prozess sein, bereits heruntergefahren:Wann erstellt die Windows-Fehlerberichterstellung eine Speicherabbilddatei? Ist es konfigurierbar? Hat sich das in Windows 7 geändert?
[email protected]() + 0x14 bytes
[email protected]() + 0x141 bytes
[email protected]() + 0x74 bytes
[email protected]() + 0x18928 bytes
Dies ist ein nicht verwalteter (unmanagable?) 32-Bit-C++ Anwendung kompiliert mit VS2010 SP1, läuft auf 64-Bit Win7 SP1 (und aktualisiert). Kennt jemand Windows-Updates, die das WER-Verhalten im letzten Jahr verändert haben? Gibt es etwas konfigurierbares anderes als 'HKLM \ SOFTWARE \ Microsoft \ Windows \ Windows Fehlerberichte \ LocalDumps \ AppName.exe'?
Das Beenden der Anwendung durch Aufrufen von "RaiseFailFastException" führt weiterhin zu einem guten Dump mit gültigen Stapeln für alle Threads.
Nichts, was ich gehört habe. Die einfache Erklärung ist, dass Ihre App nur aus einem anderen Grund abstürzt. –
Nein, ich erhalte explizit eine Ausnahme, um die Erstellung des Speicherabzugs zu testen, und ich vermisse Stacks sowohl in der neuesten Version der Anwendung als auch in der Version von vor einem Jahr, die ursprünglich funktionierte. Trotzdem danke. –