公司应用发布上线后有一个只在iOS10.3系统下的高频崩溃,通过崩溃日志定位到的崩溃行为:

该崩溃为访问了野指针szHeaders造成的崩溃
经过代码检查发现

经过调试发现指针被声明时即置为空指针
我将Xcode的build设置为Release后复现出该崩溃,指针声明未初始化时指向一块位置内存区域,导致野指针崩溃
在StackOverFlow上有该回答:

即Release模式下指针声明时不会置为空指针
指针声明时立即初始化赋值即解决该崩溃(开发习惯)
另外遇到线上的崩溃复现不了时应考虑是否为Release模式和Debug模式之间的区别导致的
网友评论