Im Allgemeinen ich mit dem Prozess des pid
sehen, die an diesem Prozess im Hintergrund und starten dbx läuft mit dem Befehl dbx -a <pid>
gdb startet pid
ähnlich wie könnte ich es gdb tun mit?
Im Allgemeinen ich mit dem Prozess des pid
sehen, die an diesem Prozess im Hintergrund und starten dbx läuft mit dem Befehl dbx -a <pid>
gdb startet pid
ähnlich wie könnte ich es gdb tun mit?
Es gibt zwei Möglichkeiten.
in der Befehlszeile, beinhalten die pid als Argument nach dem Namen der ausführbaren Datei:
gdb /path/to/prog PID
aus gdb, können Sie den Befehl anfügen:
gdb /path/to/prog
gdb> attach PID
Während die Spezifizierungs auf die Die Befehlszeile ist prägnanter, es besteht ein geringes Risiko, dass, wenn Sie eine Kerndatei haben, die einen Namen hat, der der PID entspricht (dh für PID 2345 müsste die Kerndatei "2345" heißen), dann wird gdb Öffnen Sie die Core-Datei. Zugegeben, die Chance, dass dies passiert, ist winzig.
Von der GDB Manpage:
können Sie, geben Sie stattdessen eine Prozess-ID als zweites Argument, wenn Sie einen laufenden Prozess debuggen:
gdb program 1234
Neben dem vorherigen können Sie direkt
gdb -p <pid>
Das ist die richtige Antwort verwenden. Das Anfügen von GDB an eine PID sollte keinesfalls den Pfad zur ausführbaren Datei angeben. Die richtige Lösung sollte nur PID und nichts anderes beinhalten. – AnT