Also mein C++ Programm gerade abgestürzt ist, und die Fehler, die ich bekam, war:Intercepting C++ Ausnahmen
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create
Aborted
Nun, was ich habe vor kurzem meinen Code hinzugefügt ist ein SIGSEGV Handler, also wenn es ein Segmentierungsfehler war , würde es fortfahren, die Stapelspur zu drucken.
Wie gehe ich vor, um einen Exit-Handler für uncaught (oder mehr wie uncatchable) Ausnahmen in C++ zu machen?
Ah, danke. Wird es in der Lage sein, auf den Stack-Trace zuzugreifen, wo auch immer die Ausnahme herkommt? Ich denke, ich werde es bald herausfinden. – kamziro
@kamziro: Sie werden wahrscheinlich den Stack-Trace im Debugger sehen können, aber ich denke nicht, dass es einen Weg gibt, ihn aus dem Code zu holen. – vitaut
Ah, es funktioniert, ich habe gerade meinen SIGSEGV-Handler wiederverwendet, der backtrace und addr2line (linux) benutzt, um Dinge in einen schön formatierten Stack-Trace umzuwandeln. – kamziro