gpt4 book ai didi

c - 如何让gdb跟随execv?不工作尽管 "follow-exec-mode"

转载 作者:太空宇宙 更新时间:2023-11-04 12:35:56 25 4
gpt4 key购买 nike

我写了两个简单的程序:

int main(int ac, char **argv ) {
execv( "/home/me/Desktop/execvtest2", argv );
}

int main(int ac, char **argv ) {
execv( "/home/me/Desktop/execvtest1", argv );
}

我用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,因为它有点挂起!?),但我无法跨过调用进入"new"(作为 exec 替换进程)劣质程序。

那么如何做到这一点呢?一定有办法进入新流程吧?我做错了什么吗?

干杯

最佳答案

你可以使用“catch”命令。这将使您有机会设置一些断点在你执行之后

关于c - 如何让gdb跟随execv?不工作尽管 "follow-exec-mode",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41836052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com