c gdb fork

¿Cómo depuro el proceso hijo después de fork() en gdb?



(1)

Después de llamar a fork, el proceso actual llamará exit(0) .

Pero el niño continuará.

switch(fork()) { case -1: exit(1); case 0: //child process,continue break; default: //the current process,exit exit(0); }

¿Cómo puedo continuar depurando el proceso hijo en este caso?


Mira this Utilizar:

set follow-fork-mode <mode>

Establezca la respuesta del depurador a una llamada de programa de fork o vfork. Una llamada a fork o vfork crea un nuevo proceso. El argumento <mode> puede ser:

parent : el proceso original se depura después de una bifurcación. El proceso hijo se ejecuta sin obstáculos. Este es el valor predeterminado.

child : el nuevo proceso se depura después de una bifurcación. El proceso padre se ejecuta sin impedimentos.