Memory gdb使用一个命令的计算作为另一个命令的参数

Memory gdb使用一个命令的计算作为另一个命令的参数,memory,gdb,stack,Memory,Gdb,Stack,我试图显示当前堆栈帧的内存打印输出,但现在我要做的是费力的: # Find out how big the current frame is: (gdb) print/x $ebp - $esp $1 = 0x4 # Use that in a display: (gdb) x/4x $ebp 我希望使用define命令,使其在每一步之后都能发生,这样我就可以不断地了解堆栈帧 做这样的事情: (gdb) x/$1x $ebp (gdb) x/($1)x $ebp 没有工作。在中,使用命令x检

我试图显示当前堆栈帧的内存打印输出,但现在我要做的是费力的:

# Find out how big the current frame is:
(gdb) print/x $ebp - $esp
$1 = 0x4
# Use that in a display:
(gdb) x/4x $ebp
我希望使用
define
命令,使其在每一步之后都能发生,这样我就可以不断地了解堆栈帧

做这样的事情:

(gdb) x/$1x $ebp
(gdb) x/($1)x $ebp
没有工作。

在中,使用命令
x
检查内存,参数如下:

x
x address
x/nfu address  
其中,
n
是重复计数,
f
是显示格式,
u
是单位大小;

请注意最后一个命令
x/$\uucode>,在该命令中,在
x
之后,最后检查的地址可用于使用
$\ucode>变量的表达式中


编辑:由变量
$\uu
生成的地址的内存内容由变量
$\u
给出

$\u
!谁会想到呢。
(gdb) p/x $rsp
$4 = 0x7fffffffe248
(gdb) x/4x 0x7fffffffe248
0x7fffffffe248: 0xffffe4e5  0x00007fff  0x00000000  0x00000000
(gdb) x/$4
0x7fffffffe248: 0xffffe4e5
(gdb) x/$4x 
Value can't be converted to integer.
(gdb) x/$4 $rsp
A syntax error in expression, near `$rsp'.
(gdb) x/$_
0x7fffffffe248: 0xffffe4e5