User Tools

Site Tools


mld:addons_und_plugins:backtrace

Dieser Artikel ist gültig für die MLD-Versionen 3.0.1.1 und 3.0.3


Backtrace erstellen mit dem Addon gdb

Bei einem Absturz des VDR werden zusätzliche Informationen benötigt, um die Ursache für den Absturz ermitteln zu können. Ein Absturz des VDR äußert sich durch eine oder mehrere Zeilen in der Logdatei /var/log/messages oder /etc/log/sysinit mit dem Begriff “Segfault” - z.B.:

Apr 30 20:55:07 (MLD) user.info kernel: vdr[[10755]]: segfault at c ip 080df988 sp a91f123c error 4 in vdr[[8048000+18b000]]

gdb Addon

Bislang war es sehr aufwändig, einen Backtrace zu erstellen. Man benötigte eine Entwicklungsumgebung und musste den VDR unter Beibehaltung der Debugsymbole neu kompilieren. Hatte man dann die core-Datei vom Zielsystem, musste diese zurück auf die Entwicklungsumgebung und ausgewertet werden.

Inzwischen gibt es ein Addon mit dem Namen gdb, dass direkt den Backtrace auf dem Zielsystem erstellen kann. Es wird über das Webinterface (Addon/System) installiert. Auf der Konsole ist der Befehl

gdbmld coredump [Enter]

einzugeben. Er bewirkt, dass der VDR gestoppt und beim Absturz ein Coredump erstellt wird (ulimit -c unlimited). Anschließend wird der VDR gestartet. Nun muss versucht werden, den Absturz des VDR zu reproduzieren.

Ist der VDR mit einem Segfault abgestürzt, wird im Verzeichnis /root eine Datei mit dem Namen core erstellt. Sie war bei mir ca. 240 MB groß. Wird ein Coredump benötigt, ohne dass der VDR mit einem Segfault abstürzt, kann dieser mit dem Befehl

killall -SIGSEGV vdr

erzwungen werden.

Diese Datei wird mit dem Befehl

gdbmld debug [Enter]

ausgewertet.

Um einen kompletten Backtrace zu bekommen geben Sie folgenden Befehl in der “GDB Konsole” ab:

bt [Enter]

Die Auswertung ist dann im Forum zu posten oder an den Entwickler zu schicken.

mld/addons_und_plugins/backtrace.txt · Last modified: 2016/10/29 07:01 (external edit)