Pat*_*ick 4 debugging gdb stack-trace
如果我有一个地址 0x7ffffffff000,它位于堆栈顶部。我想检查堆栈的全部内容,因此我需要将其显示到较低的地址。
目前,我做
x/16x 0x7ffffffff000-64
Run Code Online (Sandbox Code Playgroud)
但这仍然显示从低到高。
0x7fffffffefc0: 0x782f756c 0x68747561 0x7469726f 0x43430079
0x7fffffffefd0: 0x45484341 0x5341485f 0x52494448 0x682f003d
0x7fffffffefe0: 0x2f656d6f 0x756c7079 0x7065722f 0x652f736f
0x7fffffffeff0: 0x742f7078 0x00747365 0x00000000 0x00000000
Run Code Online (Sandbox Code Playgroud)
我想要的是这样的
x/-16x 0x7ffffffff000
0x7fffffffeff0: 0x742f7078 0x00747365 0x00000000 0x00000000
0x7fffffffefe0: 0x2f656d6f 0x756c7079 0x7065722f 0x652f736f
0x7fffffffefd0: 0x45484341 0x5341485f 0x52494448 0x682f003d
0x7fffffffefc0: 0x782f756c 0x68747561 0x7469726f 0x43430079
Run Code Online (Sandbox Code Playgroud)
是否有一些神奇的 gdb 命令可以完成我想要的操作?
根据此消息,该功能最近已添加到 gdb 7.12 中:
GDB 现在支持“x”命令中的负重复计数,以从给定地址向后检查内存。
您只需输入:
(gdb) x/-16x $rsp
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2451 次 |
最近记录: |