2016-09-09

Created page with "{{Menu.QA/de}} {{Lang|Debug Informationen nach Crash (Bug-Trace)}} == Debug Informationen == Für den Fall, dass LibreOffice abstürzt (crashed) oder hängen bleibt, kann es..."

New page

{{Menu.QA/de}}

{{Lang|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 [http://de.wikipedia.org/wiki/Debugger 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 [[QA/BugReport/Debug_Information|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 <tt>libreoffice</tt> muss evtl. durch <tt><span style="font-family: sans-serif;">/opt/libreoffice/program/soffice ersetzt werden, insbesondere wenn keine Desktop-Integration installiert wurde</span></tt>.

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 <tt>strace-32bit</tt> 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 <tt>libreoffice*-debuginfo</tt> Pakete (falls verfügbar, und/oder von der Linux Distribution).

#Starte den debugger mit dem echten binary und logge die Ausgabe:

#:<pre>cd /opt/libreoffice/program</pre>

#:<pre>gdb ./soffice.bin 2>&1 | tee /tmp/gdb.log</pre>

#Starte die Applikation innerhalb des Debuggers:

#:<pre>run <options></pre>

#Führe die Schritte bis zum Absturz oder Einfrieren der Applikation aus. Wenn das Programm einfriert, {{Key|STRG|c}} drücken um zur gdb-Kommandozeile zurückzukehren.

#Backtrace ausgeben:

#:<pre>backtrace</pre>

#Backtrace aller threads ausgeben:

#:<pre>thread apply all bt</pre>

#Debugger verlassen

#:<pre>quit</pre>

#Die vollständige <tt>gdb.log</tt> 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 <tt>libreoffice*-debuginfo</tt> Pakete (falls verfügbar, und/oder von der Linux Distribution).

#Starte den Debugger mit dem echten binary und logge die Ausgabe:

#:<pre>cd /opt/libreoffice/program</pre>

#:<pre>valgrind --tool=memcheck --num-callers=128 --trace-children=yes ./soffice.bin 2>&1 | tee /tmp/valgrind.log</pre>

#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.

#:<pre>bzip2 /tmp/valgrind.log</pre>

#Hänge die Logdatei an die Fehlermeldung an.

[[Category:DE|BugReport]]

[[Category:QA/de]]

Show more