http://www.ibm.com/developerworks/cn/linux/l-cn-gdbmp/index.html
觉得重要的是:
一个简单的方法可以进入attach的调试:
flag = 1;
while(flag);
这样就会在这里while这里自动停止(好像gdb识别了这个死循环?),然后set flag = 0就可以调试进程了。
至于GDB wrapper的方式,如果需要调试exec族函数的情况下,还是可以用attach,不过注意,每次gdb attach后,都会有一个附在某一个要调试的线程上的gdb线程,如果已经gdb了exec之前的代码段,要先kill掉这个gdb线程才能调试exec后的该线程。
PS:在需要同时调试父进程和子进程的时候,一般都是不调试运行该程序。通过while(flag)的设置,gdb attach会自动停在那里。
阅读(505) | 评论(0) | 转发(0) |