Windows: Wann werden Crash-Dumps angelegt?



  • Ich nutze Windows 10 und eine spezielle CAD Software, welche recht absturzfreudig ist. Bei jedem Absturz legte die Software eine .dmp in <User>\AppData\Local\CrashDumps an. Die Dump Dateien habe ich auf Wunsch der Entwickler analysiert und weitergeleitet.

    Nun ist eine neue Version herausgekommen, die Abstürze sind geblieben, aber die Crash Dump Dateien werden nicht mehr angelegt.

    Also habe ich ein kleines Testprogramm in VS 2019 geschrieben, welches einfach nur abstürzen soll:

    int main(int argc, char *argv[])
    {	
      char s[8];
    
      sprintf_s(s, "HAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH");
      printf(s);
      for (int i = 0; i < strlen(s); i++)
        s[i] += argc;
      printf(s);
      free((void*)123);
      return 0;
    }
    

    Dieses Programm stürzt zwar ab, legt aber auch keine Crash Dumps an. Auch die Flags rund um die Fehlerberichtserstattung (/ERRORREPORT:) brachten nichts.

    Hat hier jemand Ahnung warum ich keine Crash Dumps mehr bekomme? Gibt es da eine globale Einstellung?





  • @Th69
    Danke, die Crash Dumps funktionieren wieder.

    Für mich stellt sich nur die Frage wer diesen Schlüssel geschrieben und wer diesen Schlüssel gelöscht hat. Werde das wohl mal mit einem Script im Auge behalten.



  • Es könnte auch die (vorherige Version der) Applikation selbst gewesen sein, welche den Crash Dump erzeugt hat - mittels SetUnhandledExceptionFilter und MiniDumpWriteDump, s.a. Best way to have crash dumps generated when processes crash?



  • Genau.
    Diese Registry-Einträge sind per Default nicht konfiguriert. Die wahrscheinlichste Erklärung ist dass die Applikation die Crash-Dumps selbst geschrieben hat - und es jetzt nicht mehr tut.

    Es ist zwar theoretisch natürlich möglich dass eine Anwendung die Registry-Einträge ändert, aber ich denke das ist ziemlich unüblich. Ich hab es zumindest noch nie gesehen.



  • @hustbaer sagte in Windows: Wann werden Crash-Dumps angelegt?:

    Es ist zwar theoretisch natürlich möglich dass eine Anwendung die Registry-Einträge ändert, aber ich denke das ist ziemlich unüblich.

    Ich arbeite etwas enger mit den CAD Entwicklern zusammen und habe schon ein paar unübliche Lösungen gesehen. Aber ich bin da vorsichtig und werde dies im Auge behalten.

    Jedenfalls, wenn ich den Registry Schlüssel angelegt habe und die CAD Anwendung zum Absturz bringe, dann finde ich auch ein Crash Dump hierzu. Ebenso wenn ich mein Testprogramm laufe lasse. Lösche ich den Schlüssel, so legen beide Programme beim Absturz keine Crash Dumps an.


Anmelden zum Antworten