Logging trace / dump von release build
-
Hallo,
ich hab mal eine grundsätzliche Frage. In meinen Debug-Builds benutze ich eine Logging-Klasse (rlog), die abgestufte Logging-Level ermöglicht. Falls irgendwo ein Crash passiert, kann ich so ziemlich schnell den Fehler eingrenzen.
Nebenbei: In Anwendungen, in denen mehrere Threads parallel laufen, ist es doch so gut wie aussichtslos, den Debugger einzusetzen (Timeouts von Sensor-Daten, asynchrone I/O etc.) - oder gibt es da irgendwelche Tricks?
Ich würde jetzt gerne eine Art Stacktrace erzeugen im Release-Mode, also wenn die Anwendung crasht, dass ich wenigstens in etwa die Aufrufe nachvollziehen kann.
Natürlich könnte ich die Logging-Lib auch noch im Release-Mode dazulinken, nur produziert die viel zu viel Rauschen (unnötige Log-Messages), die noch dazu jede Menge Performance kosten)Gibt es da irgendwelche Libs/Tracing-Tools, etc. mit denen das gemacht werden kann (so eine Art Crash-Dump)?
Danke für alle Hinweise,
AlGaN
-
am besten ist wohl: trotz relase-modus die debugging-informationen reinlinken, das kostet keine performance, und ganz normal im debugger starten.
-
Hm, Problem ist nur, dass auf der Zielmaschine die Debug-Libs nicht vorhanden sind. Ich dachte eher so an ein Reporting-Tool, wie man es auch von manchen OpenSource-Projekten her kennt...
Falls da freie Tools/Bibliotheken existieren, wäre ich für einen Hinweis dankbar...
AlGaN
-
http://websvn.kde.org/trunk/KDE/kdebase/runtime/drkonqi/
kde4 (qt4) sind ja LGPL. Kannst dir anschauen wie die das machen und versuchen nachzubauen, wenn du selber kein kde4 verwenden willst.