Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如何将gdb命令的输出存储到变量中?_Shell_Unix_Gdb - Fatal编程技术网

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

Shell 如何将gdb命令的输出存储到变量中?,shell,unix,gdb,Shell,Unix,Gdb,我试图将gdb命令的输出存储到gdb变量中。我是按照老师的指示做的。但当我打印变量时,它显示为空 (gdb) shell echo set \$pop_ele=\"$(tail -n 1 pop_stack)\" (gdb) p/x $pop_ele 我的pop_堆栈文件包含此 20 268435372 我使用以下命令将pop_堆栈中的值268435372存储到gdb变量$pop_ele中。并尝试将值打印为十六进制。但是,$pop_ele显示为空 (gdb) shell echo set \

我试图将gdb命令的输出存储到gdb变量中。我是按照老师的指示做的。但当我打印变量时,它显示为空

(gdb) shell echo set \$pop_ele=\"$(tail -n 1 pop_stack)\"
(gdb) p/x $pop_ele
我的pop_堆栈文件包含此

20
268435372
我使用以下命令将pop_堆栈中的值268435372存储到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