Подтвердить что ты не робот

Как отлаживать дочерний процесс после fork() в gdb?

После вызова fork текущий процесс вызовет exit(0).

Но ребенок продолжит.

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

Как я могу продолжить отладку дочернего процесса в этом случае?

4b9b3361

Ответ 1

Посмотрите . Использование:

set follow-fork-mode <mode>

Установите ответ отладчика на вызов программы fork или vfork. Вызов fork или vfork создает новый процесс. Аргумент <mode> может быть:

parent: оригинальный процесс отлаживается после вилки. Детский процесс работает беспрепятственно. Это значение по умолчанию.

child: новый процесс отлаживается после вилки. Родительский процесс работает беспрепятственно.