关于野指针
1. 野指针发现
xcode设置run->Diagnostics -> Malloc Scribble Zombie Objects
2. fishhook
- 首先需要知道,对象被释放的时候若还有指针指向它,则会被系统标记为ox55.
- 若再次调用该对象的方法则会发生崩溃,而崩溃的信息会非常难找。
- 0x55一般是不可访问,而多次产生野指针将会发生覆盖。所以会造成崩溃的地方离现实很远。
- 于是,为了解决上述问题,基本的思路是hook c的释放方法。但调用free的时候,将对象的内存保存起来。
- 当改对象在此调用的时候,我们让它崩溃,这样就能定位到野指针的问题。