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
:元のプロセスはフォーク後にデバッグされます。子プロセスは妨げられることなく実行されます。これがデフォルトです。
child
:新しいプロセスはフォーク後にデバッグされます。親プロセスは妨げられることなく実行されます。