programing

gdb에서 fork() 후 하위 프로세스는 어떻게 디버깅합니까?

padding 2023. 9. 15. 20:50
반응형

gdb에서 fork() 후 하위 프로세스는 어떻게 디버깅합니까?

전화후fork, 현재 프로세스가 호출할 것입니다.exit(0).

하지만 아이는 계속할 겁니다.

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

이 경우 하위 프로세스 디버깅을 계속하려면 어떻게 해야 합니까?

이것 좀 보세요.용도:

set follow-fork-mode <mode>

디버거 응답을 포크 또는 vfork 프로그램 호출로 설정합니다.포크나 vfork로 호출하면 새로운 프로세스가 생성됩니다.<mode>인수는 다음과 같을 수 있습니다.

parent: 원래 프로세스는 포크 후 디버깅됩니다.하위 프로세스가 방해받지 않고 실행됩니다.기본값입니다.

child: 포크 후에 새 프로세스가 디버깅됩니다.상위 프로세스가 방해받지 않고 실행됩니다.

언급URL : https://stackoverflow.com/questions/6199270/how-do-i-debug-the-child-process-after-fork-in-gdb

반응형