使用GDB调试此程序
start后
10行进入father进程,接下来会一直在父进程不断执行程序
那么如何进入子进程?
此时杀死此程序进程
重新gdb调试,使用以下命令,再使用n,可进入子进程
那么如何同时调试父进程和子进程
上图可发现,此时运行的仍然是父进程,使用下图方法
总结
set follow-fork-mode child 设置GDB调试子进程
set follow-fork-mode parent 设置GDB调试父进程
set detach-on-fork on/off 设置GDB跟踪调试单个进程或多个
on: 只调试父进程或子进程的其中一个,(根据follow-fork-mode来决定),这是默认的模式
off:父子进程都在gdb的控制之下,其中一个进程正常调试(根据follow-fork-mode来决定),另一个进程会被设置为暂停状态。
info inferiors 显示GDB调试的进程
inferiors 进程序号(1,2,3....) 切换GDB调试的进程