红联Linux门户
Linux帮助

用gdb调试fork和exec出来的进程

发布时间:2010-02-01 14:00:15来源:红联作者:genesy
本人近来在gdb调试中遇到了关于如何调试fork和exec进程的问题,搞了很久,现在问题解决了,跟大家分享一下。
如果想要调试fork出来的子进程,那么在gdb启动后可以输入命令 set follow-fork-mode child 。如果有多个fork语句,而又不是都想执行子进程,那么最好在每个fork语句之前设置一个断点,然后再使用命令 set follow-fork-mode [parent|child] 。对于exec系列函数,只要在gdb启动时输入命令 catch exec,以后一遇到这一系列函数程序就会停下来,可以根据断点的信息来判断是否已经到达自己想要看的程序中,或者简单的输入下 list来看看代码,如果不是的话就 continue, 是的话就可以下断点了。
就是这么简单,可是在gdbzhong搞了好久才弄出来。
文章评论

共有 2 条评论

  1. dxl000 于 2010-02-01 15:44:54发表:

    据说内核要在2.5.60之后才可以!

  2. onplans 于 2010-02-01 14:18:51发表:

    学习了