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

1 minuto de lectura

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

Pero el niño seguirá.

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 secundario en este caso?

  • Para exec: stackoverflow.com/questions/377195/…

    – Ciro Santilli Путлер Капут 六四事

    29 de marzo de 2017 a las 16:39


avatar de usuario
Mihran Hovsepyan

Mirar esta. 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. los <mode> argumento puede ser:

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

child: El nuevo proceso se depura después de una bifurcación. El proceso principal se ejecuta sin obstáculos.

  • ¿Hay alguna manera de depurar tanto a los padres como a los hijos?

    -Bin Zhou

    3 de marzo a las 8:39

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad