Debug Informationen nach Crash (Bug-Trace)
Debug Informationen
Für den Fall, dass LibreOffice abstürzt (crashed) oder hängen bleibt, kann es sinnvoll sein, sogenannte Debug Informationen zu erzeugen und diese dem Bug Report hinzuzufügen. Dies sollte allerdings nur auf Anfrage eines Entwicklers oder einer QA-Person erfolgen. Für jedes Betriebssystem ist das Vorgehen unterschiedlich.
Ob die folgenden Beschreibungen noch aktuell sind, ist nicht geprüft worden. Gegebenenfalls bitte die englischen Beschreibungen benutzen. Dies gilt auch, wenn Dein Betriebssystem hier nicht aufgeführt ist.
GNU/Linux: Wie man ein strace log erstellt
In den meisten Fällen ist es ausreichend, das Programm auf folgende Weise zu starten:
strace -o /tmp/strace.log -f -tt -s 512 libreoffice
Dann führt man die Schritte aus, die den Fehler erzeugen und verlässt das Programm. Das Kommando libreoffice
muss evtl. durch /opt/libreoffice/program/soffice ersetzt werden, insbesondere wenn keine Desktop-Integration installiert wurde
.
Bitte die Log-Datei komprimieren, bevor sie an den BugReport angehängt wird:
bzip2 /tmp/strace.log
Wenn das 32-Bit LibreOffice auf einem 64-Bit System läuft, muss das Paket strace-32bit
installiert und das 32-Bit Binärprogramm direkt gestartet werden:
cd /opt/libreoffice/program strace32 -o /tmp/strace.log -f -tt -s 512 ./soffice.bin
GNU/Linux: Wie man ein backtrace erstellt
Der backtrace ist nützlich wenn die Applikation abstürzt oder einfriert. Die Schritte sind Folgende:
- Installiere die
libreoffice*-debuginfo
Pakete (falls verfügbar, und/oder von der Linux Distribution). - Starte den debugger mit dem echten binary und logge die Ausgabe:
cd /opt/libreoffice/program
gdb ./soffice.bin 2>&1 | tee /tmp/gdb.log
- Starte die Applikation innerhalb des Debuggers:
run <options>
- Führe die Schritte bis zum Absturz oder Einfrieren der Applikation aus. Wenn das Programm einfriert, STRG + c drücken um zur gdb-Kommandozeile zurückzukehren.
- Backtrace ausgeben:
backtrace
- Backtrace aller threads ausgeben:
thread apply all bt
- Debugger verlassen
quit
- Die vollständige
gdb.log
an die Fehlermeldung anhängen (nach Komprimierung siehe oben).
GNU/Linux: Wie man ein valgrind-Log erstellt
Die valgrind-Logdatei ist nützlich, wenn das Programm abstürzt oder einfriert und das backtrace nicht ausreicht. Die Schritte sind Folgende:
- Installiere die
libreoffice*-debuginfo
Pakete (falls verfügbar, und/oder von der Linux Distribution). - Starte den Debugger mit dem echten binary und logge die Ausgabe:
cd /opt/libreoffice/program
valgrind --tool=memcheck --num-callers=128 --trace-children=yes ./soffice.bin 2>&1 | tee /tmp/valgrind.log
- Führe die Schritte bis zum Absturz oder Einfrieren der Applikation aus. Beachte, dass dies normalerweise alles gut mit valgrind funktioniert, weil es hilft, den Speicher sauber zu halten. Trotzdem sollte es die Gefährdung erkennen und eine entsprechende Information in die Logdatei schreiben. Beachte, dass valgrind ständig allerlei Warnungen ausgibt. Es müssen wirklich die Schritte ausgeführt werden, die normalerweise zum Fehler führen, damit die richtigen Daten in die Logfdatei ausgegeben werden.
- Verlasse LibreOffice.
- Bitte komprimiere valgring.log, wenn die Datei größer als 10kB ist.
bzip2 /tmp/valgrind.log
- Hänge die Logdatei an die Fehlermeldung an.