J'ai une application linux C (A) qui engendre un autre processus (P) quand il est démarré. Quand je veux déboguer le PI start A comme d'habitude et je me connecte avec ddd/gdb à P.Comment déboguer le point d'entrée du processus fork-exec dans GDB?
Des problèmes apparaissent quand je veux déboguer le point d'entrée (début de main) de P. Si je suis l'approche habituelle quand Je connecte le débogueur à P est déjà à la fin. La solution que j'ai trouvée était d'insérer un sommeil au début de la partie principale de P donc j'ai le temps de me connecter avec gdb mais ce n'est pas une solution très élégante.
J'ai également essayé d'utiliser asm("int $3")
mais cela ne semble pas fonctionner.
Avez-vous une idée de comment je pourrais résoudre ce problème? (de préférence sans modifier le code de A ou P)
gdbserver permet le débogage à distance, mais ne résout pas le problème en cours, ce qui est plus un cas de GDB suit fork/clone. –
Je ne pense pas que ce soit un cas pour le débogage à distance. Il s'agit plus de savoir quel processus gdb suit sur une fourche. –