您的位置:首页 > 其它

gdb调试daemon程序

2014-01-08 13:45 453 查看

http://www.ibm.com/developerworks/cn/linux/l-cn-gdbmp/index.html

缺省gdb是调试主进程的,可是现在采用daemon模式工作的程序那么多,主进程通常很快就结束了,子进程才是真正干活的。怎么跟踪调试子进程呢?

在gdb里面执行:
set follow-fork-mode child

则gdb就可以调试子进程了。

感谢互联网,感谢google。

还有一个方法,可以用gdb调试已经在运行的进程:运行gdb之后调用attach命令。

参见:
《Using GNU's GDB Debugger Debugging A Running Process》 http://dirac.org/linux/gdb/06-Debugging_A_Running_Process.php

comagent调试相关

break comag_main.c:217行

p recvbuf:

根据recvbuf的内容进行判断,是否要调试fork的子进程, 例子:比如,需要调试getSvVersion.c文件

b /root/source/mgunix/bin/comagent/comagsv/getSvVersion.c:115
p recvbuf
$2 = 0x97e0850 "{{-1056 {getSvVersion}}{-10 {192.168.140.140}}}"


则在此时设定需要调试子进程:

//调试子进程
set follow-fork-mode child

调试父进程:

//调试父进程
set follow-fork-mode parent
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: