Avatar ·

Wie erhalte ich automatisch einen Stacktrace bei einem Programmabsturz in C++?

Hallo zusammen! Ich programmiere in C++ unter Linux mit dem GCC-Compiler und habe ständig Probleme beim Debuggen schwer zu findender Bugs. Das Programm stürzt mit einem segmentation fault ab, aber ich kann nicht nachvollziehen, wo genau das passiert, weil der Absturz selten und an zufälligen Stellen auftritt. Ich verwende bereits assert's, aber sie helfen nicht, wenn der Bug mit Speicherbeschädigung oder Pufferüberlauf zusammenhängt. Ich möchte, dass das Programm bei jedem Crash (SIGSEGV, SIGABRT, SIGFPE usw.) automatisch den vollständigen Stacktrace mit Funktionsnamen, Dateien und Zeilennummern ausgibt. Hier ist ein Beispiel meines Codes, der abstürzt: ```cpp #include #include void dangerous_function(int* ptr) { *ptr = 42; // Hier kann ein segfault auftreten, wenn ptr == nullptr } int main() { std::vector vec(10); ```