Frage

Generell sehe ich die pid des Prozesses, der im Hintergrund läuft, und startet dbx an diesem Prozess des Befehl dbx -a <pid> mit

ähnlich wie könnte ich es tun mit GDB?

War es hilfreich?

Lösung

Es gibt zwei Möglichkeiten.

Von der Befehlszeile gehört die pid als Argument nach dem Namen der ausführbaren Datei:

gdb /path/to/prog PID

Von innerhalb gdb, können Sie den Befehl anfügen:

gdb /path/to/prog
gdb> attach PID

Während die Spezifizierungs auf der Kommandozeile prägnanter ist, gibt es ein geringes Risiko, dass, wenn Sie eine Core-Datei, die einen Namen hat, die gleiche wie die pid ist (dh für pid 2345, die Core-Datei müssen wäre der Name „2345“), dann gdb wird die Core-Datei öffnen. Zwar ist die Chance, dass dies geschieht Minuskel.

Andere Tipps

Neben der vorherigen können Sie direkt verwenden

gdb -p <pid>

Von der GDB-man-Seite:

Sie können stattdessen eine Prozess-ID als zweites Argument angeben, wenn Sie einen laufenden Prozess debuggen:

gdb program 1234
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top