2.9. Debugging

Wenn der VDR abstürzt ohne dass die Ursache aus dem syslog hervorgeht, kann man ein weitergehendes Debugging aktivieren um die Fehlerursache mittels Backtrace einzugrenzen.

Es müssen dazu die Pakete vdr-dbg und gdb installiert werden und die /etc/default/vdr um einen Eintrag für vdr-dbg erweitert werden:

sudo su
echo "DAEMON=/usr/bin/vdr-dbg" >> /etc/default/vdr
restart vdr
exit

Beim nächsten Crash des VDR sollte in /var/log/vdr/ ein Coredump erstellt werden.

Zum erzeugen des Backtrace wird gdb verwendet. Man übergibt das Programm und den Pfad zum Coredump:

sudo gdb vdr-dbg /var/log/vdr/core.<PID>

Nun befindet man sich in der interaktiven Shell von gdb. Hier stehen viele Befehle zur Verfügung um den Coredump zu analysieren.[36]

Einen kompletten Backtrace kann man nun so erzeugen:

bt full

Mit "q" verlässt man gdb wieder.



[36] Eine kurze Übersicht der verfügbaren Befehle findet man z.B. hier: GDB-Commands