web-dev-qa-db-fra.com

Comment attacher un processus dans gdb

J'ai un simple programme en C qui lance un processus, puis lance un exécutable.

Je veux attacher le processus enfant à gdb.

J'exécute le programme principal dans une console et en ouvre une autre pour trouver le pid du processus enfant, puis je lance gdb à l'aide de la commande suivante:

gdb attach 12271

12271 est l'ID du processus enfant, mais l'attachement échoue avec:

No such file or directory.

Une idée pourquoi?

62
as3rdaccount

Essayez l'une de celles-ci:

gdb -p 12271
gdb /path/to/exe 12271

gdb /path/to/exe
(gdb) attach 12271
109
Employed Russian

Le premier argument devrait être le chemin du programme exécutable. Alors

gdb progname 12271
20
DrC

Avec une instance en cours d'exécution de executableName avec un PID 15073:

frapper l'onglet deux fois après

$ gdb execu

se complétera automatiquement pour:

$ gdb executableName 15073

et va se joindre à ce processus. C'est bien!

3
Stephane Rolland