我是 C 编程的新手,我一直在努力根据我的组织需求定制一个用 C 编写的开源工具。
IDE:Eclipse,调试器:GDB,操作系统:RHEL
该工具本质上是多进程的(主进程第一次执行并使用 fork() 生成多个子进程)并且它们在运行时共享值。在 Eclipse 中调试(使用 GDB)时,我发现被调试的进程只在运行,而其他进程处于挂起模式。因此,唯一正在运行的进程无法完成其预期的工作,因为其他进程已挂起。
我在某处看到在 GDB 中使用 MI 命令作为“设置不间断”可以使其他进程运行。我在如下所示的 gdbinit 文件中使用了相同的命令:
注意:我已经用另一个 gdbinit 覆盖了上面的 .gdbinit 文件,因为 .gdbinit 不允许我调试子进程,因为调试器在主进程执行后终止。
但不幸的是,调试器在使用此命令后停止响应。
请查看我在 gdbinit 文件中使用的以下命令:
不间断地注释使 Eclipse 能够继续对当前进程进行常规调试。
添加:您可以在下图中看到只有一个进程正在运行,而其他进程被挂起。
谁能帮我根据我的要求配置GDB?
提前致谢。