2013-01-17 1 views
36

J'ai un simple programme C qui forge un processus, puis exécute un exécutable.Comment attacher un processus dans gdb

Je veux attacher le processus fils à gdb.

je lance le programme principal dans une console et d'ouvrir une autre console pour trouver le pid du processus de l'enfant, alors je commence à gdb avec la commande suivante:

gdb attach 12271 

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

No such file or directory. 

Une idée pourquoi?

+0

je ne pense pas attacher est un argument de ligne de commande. vous pouvez l'utiliser une fois que gdb est déjà en cours d'exécution. Ce type a un bon tutoriel: http://dirac.org/linux/gdb/06-Debugging_A_Running_Process.php – thang

+0

Possible duplicate of [Puis-je utiliser GDB pour déboguer un processus en cours?] (http://stackoverflow.com/questions/2308653/can-i-use-gdb-to-debug-a-running-process) –

Répondre

76

Essayez l'un de ces:

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

gdb /path/to/exe 
(gdb) attach 12271 
11

Le premier argument doit être le chemin d'accès au programme exécutable. Alors

gdb progname 12271 
Questions connexes