Debug

iOS 崩溃Crash解析

Chisel调试技巧

Zombie Object

使用

当出现EXC_BAD_ACCESS错误时,一般是由于访问了已被释放的对象,通过Product -> Scheme -> Edit Scheme -> Diagnostics 勾选Zombie Object开快速定位问题。

原理

开启Zombie Object后,当对象retainCount为0即将被释放时,编译器会用一个内置的僵尸对象来替代该对象,对该对象发送消息时会出发异常,同时可以快速定位问题。

当问题解决后记得关闭Zombie Object选项

Address sanitizer

当程序创建变量分配一段内存时,将此内存后面的一段内存也冻结住,标识为中毒内存。当程序访问到中毒内存时(越界访问),就会抛出异常,并打印出相应log信息。

Chisel

Chisel常用命令:

命令 效果
pviews 打印指定view的层级
pvc 打印viewController的结构
show & hide 显示/隐藏视图
border/unborder 给指定view添加边框标记

results matching ""

    No results matching ""