[英]How to store the output of a gdb command into a variable?
我正在尝试将 gdb 命令的输出存储到 gdb 变量中。 我正在按照此处的说明进行操作。 但是当我打印变量时,它显示为空。
我的pop_stack文件包含这个
20
268435372
我用下面的命令值268435372从pop_stack到GDB变量$ pop_ele存储。 并尝试将值打印为十六进制。 但是$pop_ele显示为空。
(gdb) shell echo set \$pop_ele=\"$(tail -n 1 pop_stack)\"
(gdb) p/x $pop_ele
输出:
set $pop_ele="268435372"
$8 = 0x0
我希望p/x $pop_ele命令的输出是0xfffffac
请帮忙。
使用 gdb 8.X,可以使用shell
和source
来执行依赖于外部数据的命令。
shell echo set \$pop_ele=$(tail -n1 pop_stack) > gdb.tmp
source gdb.tmp
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.