gdb上多进程怎么调试?????急,急,急
在hp ux 上调试一个程序,fork了两次,想进入子进程进行调试,怎么也进不去。。不知道怎么办了,给位亲,救命。。
先运行程序
查看进程号ps -ef |grep uagentd
进入gdb
attach 进程号
说是这么说,具体实现起来在怎么也不行,气死我了都。。。如下
(gdb) attach 5371
Attaching to program: /home/oracle/work/uagent/uagentd, process 5371
[New process 5371, lwp 6451]
[New process 5371, lwp 6452]
就想上面所示,[New process 5371, lwp 6452]后就一直不动,没有反应了
是不是哪出错了
最好有个例子可以给我看一下
网上找的例子,我试了下,都是这种情况啊??????????
[解决办法]
http://www.ibm.com/developerworks/cn/linux/l-cn-gdbmp/
[解决办法]
这个我看了,但是怎么在我的机器上就是attach不上去呢,,,
有没有人有过gdb调试的经验??
[解决办法]
咋没人回答呢??
[解决办法]
我曾经调试多进程的程序是自己在另一个进程上打一个桩,比如用一个变量判断是否要执行下去,然后Exec另一个进程后先下断点,然后修改那个变量值,然后才让另一个进程跑下去。的确比较麻烦,sigh...
[解决办法]
子进程上断点打了么?
[解决办法]
set follow-fork-mode child
子进程设置断点
[解决办法]
可能是我的机器不支持这种gdb的调试法吧
我后来用日志形式看的,也挺麻烦的
谢谢给位了
[解决办法]