參考:
[1] GDB debugging multi-process programs
[2] Debugging programs with multiple processes
根據這兩篇參考鏈接,完全可以實現使用gdb同時調試父進程和子進程。
接下來說明一下可能遇到的坑
- gdb8.1版本有bug,設置完
set detach-fork-on off
,執行fork
之后,切換到子進程,會遇到不能添加斷點
等問題 - gdb9.2版本也有bug,進程切換的時候,會遇到
fork.c文件缺失
等問題,不過也不影響,使用多次n
命令跳過即可。
因此,目前來說,作者使用Ubuntu 20.10,gdb 10.2才沒有bug,能夠正常進行多個進程同時調試。
gdb 10.2的安裝