【发布时间】:2011-06-01 09:48:52
【问题描述】:
调用fork后,当前进程会调用exit(0)。
但孩子会继续。
switch(fork())
{
case -1:
exit(1);
case 0:
//child process,continue
break;
default:
//the current process,exit
exit(0);
}
在这种情况下如何继续调试子进程?
【问题讨论】:
调用fork后,当前进程会调用exit(0)。
但孩子会继续。
switch(fork())
{
case -1:
exit(1);
case 0:
//child process,continue
break;
default:
//the current process,exit
exit(0);
}
在这种情况下如何继续调试子进程?
【问题讨论】:
看看this。使用:
set follow-fork-mode <mode>
设置调试器响应 fork 或 vfork 的程序调用。调用 fork 或 vfork 会创建一个新进程。 <mode> 参数可以是:
parent:fork后调试原进程。子进程畅通无阻地运行。这是默认设置。
child: fork 后调试新进程。父进程畅通无阻地运行。
【讨论】: