要在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`

谢谢!

最佳答案

` RBP-64美元`
内存读取和打印也有类似于gdb的快捷格式化程序。例如
x/16x`$rbp`
有关X/和P/的已接受格式化程序字符的详细信息,请参阅“帮助GDB格式”。这些实际上只是内存read-g和expr-g的命令别名。

关于c - LLDB-评估寄存器中的地址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11968261/

10-10 04:29