xcode反汇编调试iOS模拟器程序(六)函数出入口处的处理与局部变量
来源:互联网 发布:175平台数据 编辑:程序博客网 时间:2024/05/17 21:52
引用第二节的例子:
函数的入口处,通常都是把esp的值传给ebp保存,然后下面的操作以ebp为基准做偏移量引用。因为esp作为栈指针,push和pop都会自动修改其值,所以用ebp可以不受影响。
还有的常见情形是开头和结尾对应着
subl $8, %espaddl $8, %esp这里体现着所谓的“局部变量在栈上分配”原则,说明本函数需要用8字节作为局部变量的保存空间。同时因为ebp已指向未subl前的esp地址,所以往下的操作中,-x($ebp)这样的地方是在操作局部变量,其中x为非负整数。不过需要明确的是,未必x字节是被用完作为局部变量的,编译器出于字节对齐的考虑,如果只用了7字节,那么也会分配到8字节。
嗯,这节很短,但对于理解代码很重要。
- xcode反汇编调试iOS模拟器程序(六)函数出入口处的处理与局部变量
- xcode反汇编调试iOS模拟器程序(六)函数出入口处的处理与局部变量
- xcode反汇编调试iOS模拟器程序(三)查看Objective-C函数与参数
- xcode反汇编调试iOS模拟器程序(三)查看Objective-C函数与参数
- xcode反汇编调试iOS模拟器程序(三)查看Objective-C函数与参数
- xcode反汇编调试iOS模拟器程序(七)Debug与Release的区别
- xcode反汇编调试iOS模拟器程序(七)Debug与Release的区别
- xcode反汇编调试iOS模拟器程序(七)Debug与Release的区别
- xcode反汇编调试iOS模拟器程序
- Xcode反汇编调试iOS模拟器程序
- xcode反汇编调试iOS模拟器程序(五)调试objc_msgSend函数
- xcode反汇编调试iOS模拟器程序(五)调试objc_msgSend函数
- xcode反汇编调试iOS模拟器程序(一)查看反汇编
- xcode反汇编调试iOS模拟器程序(二)看懂反汇编
- xcode反汇编调试iOS模拟器程序(一)查看反汇编
- xcode反汇编调试iOS模拟器程序(一)查看反汇编
- xcode反汇编调试iOS模拟器程序(二)看懂反汇编
- xcode反汇编调试iOS模拟器程序(一)查看反汇编
- List(T) 的实现实体对象操作,之Find FindAll Contains ForEach Sort
- C++ Style and Technique FAQ (
- Django点滴(五)---建模
- 微生物增殖 假设有两种微生物 X 和 Y,X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y.
- 机房收费系统中的数据库操作
- xcode反汇编调试iOS模拟器程序(六)函数出入口处的处理与局部变量
- java 判断字符串是否相等
- RHEL 6的简单安装
- 软件测试答疑
- Linux内核设计与实现笔记之第一章、第二章
- 央视《家有妙招》整理版,共250招
- 数据区,代码区,堆栈区,操作系统堆栈
- Leetcode Search for a Range
- Java 内部类与内部静态咧