bash - 将 gdb 变量传递给从 gdb 执行的 shell 命令

标签 bash shell android-ndk gdb ndk-gdb

我想从 gdb 执行一个 shell 命令,这个 shell 命令需要一个参数,这个参数是一个 gdb 变量。如何让 gdb 在将命令和参数传递给 shell 解释器之前解释这个变量?

例如,在 gdb 提示符下:

(gdb) set $my_arg = 2
(gdb) shell echo $my_arg

我希望它在 stdout 上打印 2,但实际上它确实打印了一个空行。

编辑:我使用的是 ndk-gdb,它不支持 python 脚本。

最佳答案

使用新版本的 gdb,您可以使用“eval”:

(gdb) set $val = 2
(gdb) eval "shell echo %d", $val
2

如果你有旧版本的 gdb,那么你能做的最好的事情就是使用“设置日志记录”将内容写入文件,然后使用 shell 实用程序(如 sed)将文件重写为你想要的形式。

关于bash - 将 gdb 变量传递给从 gdb 执行的 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17215004/

相关文章:

c# - Xamarin ndk 从 c 函数获取字符串作为返回值

bash - 如何在多个CPU上并行运行jq

linux - 通过给定输入获取输出 -Linux

java - 如何从 Android NDK 中的 C 代码获取字符串?

linux - 为什么 sed 不接受 shell 变量?

python - stderr 的 python 默认编码?

c++ - Android NDK OpenGL ES 2 上下文初始化

linux - 如何定义一个 cron 表达式在每个月的第一个星期一执行脚本?

python - 如何在 python 中更快地拆分列?

shell - 在 Jenkins 中构建后执行 Shell 脚本