C++ GDB:同时调试2个进程
假设我想调试程序“program.exe”的两个实例,每个实例都有不同的参数(“一个”和“两个”)。我还需要同时运行这两个进程(或者至少在1秒内) 我已经读到GDB的劣势让你可以在一个会话中运行和调试多个程序。这是我的尝试:C++ GDB:同时调试2个进程,c++,c,debugging,parallel-processing,gdb,C++,C,Debugging,Parallel Processing,Gdb,假设我想调试程序“program.exe”的两个实例,每个实例都有不同的参数(“一个”和“两个”)。我还需要同时运行这两个进程(或者至少在1秒内) 我已经读到GDB的劣势让你可以在一个会话中运行和调试多个程序。这是我的尝试: file Program.exe set args one add-inferior inferior 2 file Program.exe set args two run 但不是成功。只有一个次等兵在跑 有什么想法吗? 我正在考虑以下两种选择: 创建一个分叉进程
file Program.exe
set args one
add-inferior
inferior 2
file Program.exe
set args two
run
但不是成功。只有一个次等兵在跑
有什么想法吗?
我正在考虑以下两种选择:
- 创建一个分叉进程的新程序,然后GDB可以通过“SETDETACH on fork off”处理这两个进程,但这种方法在我看来有点难看
- 正常启动两个进程,然后在GDB中通过PID连接它们。但我的环境是Windows,我不知道如何做,也不知道如何通过命令行参数找到PID
提前谢谢 您只有一个
run
命令,因此只有一个次命令运行也就不足为奇了。如果在切换到第二个程序之前运行第一个程序会怎么样?但是我想同时运行这两个程序。这是一项要求,您可以将调度倍数设置为启用,通过此设置,任何执行命令运行
,继续
,等都将在所有下级运行所有线程:谢谢@Andrew,但将调度倍数设置为启用
仅适用于命令继续
,下一步
或步骤
。我尝试了你的解决方案,但只有最后一个劣质的Runsthing在这个世界上永远不会同时发生,只有在一个指定的时间间隔内。