在Linux服务端程序中,通常使用fork函数实现多进程编程。多进程编程方法能提高程序的可靠性,但会增加调试难度。gdb本身支持多进程程序的调试,但很多人更青睐有UI的调试环境。在国产操作系统下,Qt Creator是一个被广泛使用的C++开发IDE,提供可视化的调试环境,后台一般都是gdb。使用Qt Creator调试有fork的多进程程序步骤为:
1. 设置调试器,开启多进程支持
打开菜单“工具|选项”,在调试器中的“GDB Extended”页中开启“Debug all children”。
2. 在有fork函数的代码处设置断点
3. 启动调试
先运行到fork断点处,然后单步执行fork函数行,此时调试界面的线程选择框就会出现子进程选项。选择子进程后,就可以对子进程的代码进行调试了。如果要返回主进程,在线程选择框选择主进程即可。当有多个子进程时,操作方法类似。