【发布时间】:2012-03-11 20:29:22
【问题描述】:
在调查崩溃时,我遇到了以下代码 sn-p 并立即意识到 mov 指令实际上应该是 movq 以获得正确的 64 位寄存器操作。
#elif defined(__x86_64__)
unsigned long rbp;
__asm__ volatile ("mov %%rbp, %0" : "=r" (rbp));
sp = (void **) rbp;
#else
除此之外,我还发现文档声称 x86-64 的 rbp 寄存器是通用的,不包含当前帧的地址。我还发现文档声称rbp 确实包含当前帧的地址。有人可以澄清一下吗?
【问题讨论】: