WEB开发网
开发学院软件开发C++ Call Stack简介 阅读

Call Stack简介

 2010-11-04 08:44:04 来源:WEB开发网   
核心提示:Epilogue POP EDI 恢复寄存器的原址 POP ESI

Epilogue

POP EDI

恢复寄存器的原址

POP ESI

POP EBX

ADD ESP, 0CH

清理栈

MOV ESP,EBP

恢复栈地址

POP EBP

恢复Frame Pointer地址

栈的变化

01031440 push ebp

执行前:ESP = 003FFD50。执行后:EIP = 01031441 ESP = 003FFD4C

我们可以看到,在入栈操作后,ESP减少了4,即我们开始提到的,栈的空间是高地址向低地址增长的。EIP的始终指向当前要执行的代码的地址。

继续按F10,一直走到下面这行:

clip_image012

此时,ESP = 002AF954

在Memory窗口,输入@esp,然后回车

clip_image013

在灰色光标闪烁的地方,就是当前的栈顶,里面的值为0。按F10,此时代码进行到下一行:

clip_image014

上一页  1 2 3 4 5  下一页

Tags:Call Stack 简介

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接