Im Allgemeinen sehe ich den Prozess pid
die im Hintergrund läuft und starten Sie dbx auf diesem Prozess mit dem Befehl dbx -a <pid>
ähnlich wie könnte ich es mit gdb machen?
Vijay
Im Allgemeinen sehe ich den Prozess pid
die im Hintergrund läuft und starten Sie dbx auf diesem Prozess mit dem Befehl dbx -a <pid>
ähnlich wie könnte ich es mit gdb machen?
Zusätzlich zu den vorherigen können Sie direkt verwenden
gdb -p <pid>
Dies ist die richtige Antwort. Das Anhängen von GDB an eine PID sollte in keiner Weise die Angabe des Pfads zur ausführbaren Datei beinhalten. Die richtige Lösung soll nur PID und nichts anderes beinhalten.
– AnT steht zu Russland
23. Januar 2018 um 23:45 Uhr
R. Samuel Klatschko
Es gibt zwei Möglichkeiten.
Fügen Sie von der Befehlszeile aus die PID als Argument nach dem Namen der ausführbaren Datei ein:
gdb /path/to/prog PID
Innerhalb von gdb können Sie den Attach-Befehl verwenden:
gdb /path/to/prog
gdb> attach PID
Während die Angabe in der Befehlszeile präziser ist, besteht ein geringes Risiko, dass, wenn Sie eine Kerndatei haben, die denselben Namen wie die PID hat (dh für PID 2345, müsste die Kerndatei “2345 “), dann öffnet gdb die Core-Datei. Zugegeben, die Chance, dass dies passiert, ist winzig.
Von der GDB-Manpage:
Sie können stattdessen eine Prozess-ID als zweites Argument angeben, wenn Sie einen laufenden Prozess debuggen möchten:
gdb program 1234