如何在gdb中的fork()之后调试子进程?

调用fork后,当前进程将调用exit(0)

但孩子会继续。

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

在这种情况下,如何继续调试子进程?

看看这个 。 使用:

 set follow-fork-mode  

将调试器响应设置为fork或vfork的程序调用。 对fork或vfork的调用会创建一个新进程。 参数可以是:

parent :原始进程在fork之后调试。 子进程运行畅通无阻。 这是默认值。

child :在fork之后调试新进程。 父进程运行不受阻碍。