调用fork后,当前进程将调用exit(0)
。
但孩子会继续。
switch(fork())
{
case -1:
exit(1);
case 0:
//child process,continue
break;
default:
//the current process,exit
exit(0);
}
在这种情况下,如何继续调试子进程?
答案 0 :(得分:39)
看看this。使用:
set follow-fork-mode <mode>
将调试器响应设置为fork或vfork的程序调用。对fork或vfork的调用会创建一个新进程。 <mode>
参数可以是:
parent
:在fork之后调试原始进程。子进程运行畅通无阻。这是默认值。
child
:在fork之后调试新进程。父进程运行不受阻碍。