我想从 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/