我对“当前的ebp”与“已保存的ebp”的存在感到有点困惑。
当查看具有参数x的给定堆栈帧时,它在概念上是不是这样的:
0x8(%ebp) - parameter 1
0x4(%ebp) - eip here
%ebp - saved ebp
所以你可以通过做& parameter - 8之类的东西来获得保存的ebp?
如果保存的那个位于堆栈中的那个位置,那么“当前的ebp(我猜某个堆栈帧的ebp)”是什么?
答案 0 :(得分:1)
是的,这是对的。
当前EBP值是当前EBP寄存器中的值。您可以使用它来从调用帧,参数,本地(如果有)和返回地址(如果需要)访问堆栈上保存的EBP。