Starten Sie gdb mit einer PID

Lesezeit: 1 Minute

Vijays Benutzeravatar
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


Benutzeravatar von R Samuel Klatchko
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

1408640cookie-checkStarten Sie gdb mit einer PID

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy