多进程调试

人不能一次踏进两条河流

当我们使用fork()创建多进程程序后,会出现进程分支,而此时如果想使用gdb调试特定进程,就必须进行相应的设置,方法如下:

基本命令

查看当前跟随的进程

1
2
(gdb) show follow-fork-mode
Debugger response to a program call of fork or vfork is "parent".

可以看到默认情况下为parent。

设置跟随进程

1
set follow-fork-mode <mode>

mode可以是parent或child,分别对应父进程和子进程,这样当gdb执行代码时,会进入特定的进程分支。

查看当前运行的进程

输入如下命令可以查看并切换到指定进程

1
2
info threads
t 8 #切换至进程8

参考文献

0%