IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    gdb 调试多进程程序方法

    admin发表于 2011-01-12 13:04:44
    love 0

    今天在用gdb调试sheepdog时,在程序fork出子进程后,整个gdb程序就退出了,无法继续跟踪,网上找了半天找到了解决方法.

    解决方法:

    设置detach-on-fork参数

    set detach-on-fork [on|off]

    • on: 断开调试follow-fork-mode指定的进程。
    • off: gdb将控制父进程和子进程。follow-fork-mode指定的进程将被调试,另一个进程置于暂停(suspended)状态

    将detach-on-fork 设置为off即可

    跟踪子进程的方法:

    默认情况下,gdb会继续跟踪父亲进程,无法对子进程进行调试

    设置follow-fork-mode可以解决这个问题

    follow-fork-mode的用法为:

    set follow-fork-mode [parent|child]

    • parent: fork之后继续调试父进程,子进程不受影响。
    • child: fork之后调试子进程,父进程不受影响。
    (gdb) set follow-fork-mode child

    本文地址:http://www.yaronspace.cn/blog/index.php/archives/1072

    您可能对下面文章也感兴趣:

    • 使用Bash中Complete自动补全命令
    • Linux中关于Cache Memory的介绍
    • [shell学习笔记]sort、uniq、cut、paste和split用法详解
    • 关于pthread_cond_wait使用while循环判断的理解
    • linux通过Shell获得本机ip地址方法


沪ICP备19023445号-2号
友情链接