免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6655 | 回复: 2
打印 上一主题 下一主题

[C++] 如何用eclipse调试c++子进程程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-30 14:11 |只看该作者 |倒序浏览
我刚开始学习在linux下使用eclipse编写调试c++程序,现在有个问题想请教各位高手.
我现在要写一个程序B,它是A程序的子进程,必须通过A程序才能正确启动B程序.我现在没有A程序的源码,不知道这种情况下怎么设置

eclipse,才能调试B程序?
我原来一直用VC,在VC中这种情况很简单,只要设置在调试的时候启动A程序即可,当运行到B程序的时候自动就进入B程序的调试状态,

就和调试动态库的方法是一样的.我觉得eclipse应该和这个差不多,但是不知道怎么设置,请各位高手帮忙.
我看了一下eclipse的帮助文档,eclipse应该也是调用gdb实现可视化调试的.如果哪位大哥知道如何直接使用gdb调试这种情况的,也

请指点一下,谢谢.

论坛徽章:
0
2 [报告]
发表于 2011-05-03 08:16 |只看该作者
自顶一下.

论坛徽章:
0
3 [报告]
发表于 2011-05-03 09:28 |只看该作者
本帖最后由 雨过白鹭洲 于 2011-05-03 10:22 编辑

要在Eclipse CDT中调试子进程,可以通过启用follow-fork-mode来实现。

在当前项目工作目录下建一个.gdbinit文件,里面加入下面语句:
set follow-fork-mode child

然后在子进程的代码入口处设一个断点,应该就可以跟踪调试了。。

刚刚试了一下,是可以的。父进程最后记得waitpid一下

set follow-fork-mode mode

mode
指定为parent,表示调试父进程
指定为child,表示调试子进程
指定为ask,则gdb会询问你要调试哪个进程
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP