繁体   English   中英

如何将 gdb 命令的输出存储到变量中?

[英]How to store the output of a gdb command into a variable?

我正在尝试将 gdb 命令的输出存储到 gdb 变量中。 我正在按照此处的说明进行操作。 但是当我打印变量时,它显示为空。

我的pop_stack文件包含这个

20
268435372

我用下面的命令值268435372pop_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,可以使用shellsource来执行依赖于外部数据的命令。

shell echo set \$pop_ele=$(tail -n1 pop_stack) > gdb.tmp
source gdb.tmp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM