一、gdb调试多进程
1、如果一个进程通过fork系统调用创建了子进程,gdb会继续调试原来的进程,子进程则正常运行。调试子进程的方法有两种
(1)单独调试子进程(因为子进程从本质上来说也是一个进程,所以可以通过gdb进行调试)
- 利用ps –ef | grep 文件名,得出子进程的PID(假设为5876)
- gdb
- (gdb) attach 5876 /*将子进程5876附加到gdb调试器*/
- (gdb) b num(num假设为164) /*设置子进程中断点*/
- (gdb) c /*继续执行,直到执行到下一个断点处*/
(2)使用调试器选项 follow-fork-mode
这个选项允许我们选择程序在执行fork系统调用后是继续调试父进程还是调试子进程。具体命令如下: