16

要在 LLDB 中查看我的堆栈,我目前使用以下内容:

(lldb) register read rbp --format hex
rbp = 0x00007fff5fbff820

然后查看向下增长的前 64 字节:

(lldb) memory read --size 4 --format x --count 16 `0x00007fff5fbff820-64`
0x7fff5fbff7e0: 0x5fbff900 0x00007fff 0x00000000 0x00000000
0x7fff5fbff7f0: 0x00000000 0x00000000 0x00000000 0x00000000
0x7fff5fbff800: 0x00000000 0x00000000 0x00000000 0x00000000
0x7fff5fbff810: 0x5fbff838 0x00000006 0x00000008 0x00000000

我一直无法找到如何做到这一点,但有没有办法替换表达式:

`0x00007fff5fbff820-64`

更像是:

`%rbp-64`

谢谢!

4

1 回答 1

17

`$rbp-64`

还有一些用于内存读取和打印的快捷格式化程序,其作用类似于 gdb。例如

x/16x `$rbp`

有关 x/ 和 p/ 接受的格式化程序字符的详细信息,请参阅“帮助 gdb-format”。这些实际上只是内存读取 -G 和 expr -G 的命令别名。

于 2012-08-15T21:24:09.680 回答