gpt4 book ai didi

c - 如何在另一个进程中调用函数(C,Linux)

转载 作者:行者123 更新时间:2023-11-30 17:44:36 25 4
gpt4 key购买 nike

我正在调试应用程序 A,我发现当进程 A(应用程序 A)调用函数 foo() 时,该函数位于另一个进程 B 中。我的意思是,如果我在调用 foo() 之前杀死进程 B,则 foo () 输出未显示。我可以修改 foo() 代码,并在从应用程序 A 调用 foo() 时查看新的修改。两个应用程序都定义了 foo() 。我不知道如何实现这一点。编译时以正常方式执行调用:

....
foo(b);
....

最佳答案

gdb 或多或少可以为你做这件事。您只需要几个 gdb session ,每个进程一个(如果这些 session 位于嵌入式目标上,gdb-server 将提供帮助)。然后在方便的位置中断到进程之一(使用断点、脚本或其他方式)并使用“call foo()”语句。

例如:

(gdb) call fprintf(stderr, "test %d\n", 5)
test 5
$3 = 7
(gdb)

关于c - 如何在另一个进程中调用函数(C,Linux),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19919846/

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