首先最最首先就是查看到底crash的错误代码是多少,是mach异常还是oc异常
1.通过打log进行排查
2.通过使用ios调试工具进行排查
2.1 使用Analyze
分析
Xcode -> Product -> Analyze 即可进行静态分析。
2.2 使用Debug Memory Graph
调试
1、开启Malloc stack logging
2、在Xcode
下面选择Debug Memory Graph
3、如下图所示进行操作,链接到有问题的代码
也可以通过下面的gif图查看具体的操作
2.3 使用Leaks
调试
1、选中Xcode
点击鼠标右键,选择Open Developer Tool
-> Instruments
2、选择Leaks
3、选择需要调试的APP,然后点击Start recording
4、如下图所示进行操作
也可以通过下面的gif图查看具体的操作
3. 使用lldb调试技巧进行调试
3.1 符号断点
有时上层不容易发现的蛛丝马迹从底层去打断点能发现猫腻,通过条件断电打开日志上下文和堆栈的数据排查;同时可以使用关键数据的内存watch功能监听
3.2 可以使用python脚本进行写自定义工具
写死锁工具,写内存查看工具等等
4. 查看ios开源代码或者使用ida查看未开源库