Um Daemon-Prozesse zu debuggen, als Applikation die sich kurz nach dem Start aufgabeln und im Hintergrund weiterlaufen, während der Haupt-Task beendet wird, gibt es im gdb die Möglichkeit Hintergrundprozesse anzubinden.
Zunächst muss dazu ein Start-Skript für gdb erzeugt werden. Dazu wird eine Textdatei mit folgendem Inhalt angelegt:
set target-async on
set pagination off
set non-stop on
Im folgenden wird davon ausgegangen, dass diese Datei unter dem Namen non-stop.gdb abgelegt wurde.
Nun wird der Debugger mit
gdb -x non-stop.gdb
gestartet. Im gdb wird der Debugger mittels eines attach-Kommandos an den Deamon-Prozess angebunden. Mit dem shell-Kommando pgrep kann nach der Prozessnummer gesucht werden. Beim Anbinden des Prozesses wird der Daemon-Prozess angehalten. Um diesen Prozess weiter zu führen, muss das continue-Kommando eingegeben werden.
(gdb) !pgrep YOUR-Daemon
1234
(gdb) attach 1234
(gdb) continue &
Quelle: https://stackoverflow.com/questions/16169022/debugging-a-running-daemon-using-gdb