roe*_*mer 8 c debugging gdb execv
我写了两个简单的程序:
int main(int ac, char **argv ) {
execv( "/home/me/Desktop/execvtest2", argv );
}
Run Code Online (Sandbox Code Playgroud)
和
int main(int ac, char **argv ) {
execv( "/home/me/Desktop/execvtest1", argv );
}
Run Code Online (Sandbox Code Playgroud)
我用gcc -g将它们编译成相应的输出文件.我使用gcc(Ubuntu/Linaro 4.4.4-14ubuntu5.1)4.4.5运行Ubuntu 10.10.
当我使用GNU gdb(GDB)7.2-ubuntu调试第一个程序时,我可以直到第一个execv语句,但随后这两个文件继续运行.即使我将follow-exec-mode设置为new,我也无法进入第二个程序.当我设置catch exec时,gdb会在每次调用execv时停止(某些如何没有第二个程序的链接源,并且我无法退出gdb,因为它有点挂起!?)但是我无法跳过调用"新"(作为exec替换过程)的劣质程序.
那么怎么做呢?必须有一种方法可以进入新的流程吗?难道我做错了什么?
干杯
归档时间: |
|
查看次数: |
5645 次 |
最近记录: |