Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ GDB:同时调试2个进程_C++_C_Debugging_Parallel Processing_Gdb - Fatal编程技术网

C++ GDB:同时调试2个进程

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 但不是成功。只有一个次等兵在跑 有什么想法吗? 我正在考虑以下两种选择: 创建一个分叉进程

假设我想调试程序“program.exe”的两个实例,每个实例都有不同的参数(“一个”和“两个”)。我还需要同时运行这两个进程(或者至少在1秒内)

我已经读到GDB的劣势让你可以在一个会话中运行和调试多个程序。这是我的尝试:

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在这个世界上永远不会同时发生,只有在一个指定的时间间隔内。