美文网首页
iOS10.3系统Release模式下下未初始化指针导致崩溃

iOS10.3系统Release模式下下未初始化指针导致崩溃

作者: 92f5323404c8 | 来源:发表于2018-04-28 16:06 被阅读0次

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


image.png

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


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

在StackOverFlow上有该回答:


image.png

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

相关文章

  • iOS10.3系统Release模式下下未初始化指针导致崩溃

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

  • VC++ 野指针,空指针等内存问题错误码

    最近使用 VS 开发 c++ 的 dll ,发现 vc++ 对野指针、空指针、未初始化内存等导致的内存错误报有特定...

  • AsyncSocket release模式崩溃

    事情的经过是这样的,上传新项目审核, 结果被拒,提示是 意思就是:你的APP在 IPV6 网络状态、iOS10.0...

  • 野指针

    1: 野指针:未初始化的指针,其指针内容为一个垃圾数。指针在被定义的时候,如果程序不对其进行初始化的话,它会指向随...

  • iOS 看懂crash闪退日志(实战篇)

    SEGV:(Segmentation Violation,段违例),无效内存地址,比如空指针,未初始化指针,栈溢出...

  • 指针的一些概念总结

    野指针:未初始化的指针悬空指针:指向的地址被free之后,未被置为null的指针(又叫迷途指针) 溢出:申请了10...

  • 智能指针

    指针的危害 指针未初始化 野指针 内存泄漏 参考阅读C/C++指针使用常见的坑 智能指针分类 本质:将指针封装为类...

  • stack_chk_fail 错误的一种案例

    今天程序运行debug模式没问题,切换到release模式发现程序突然崩溃了,查看了一下崩溃的调用栈信息,显示st...

  • IOS基础知识-异常崩溃处理篇

    常见的崩溃类型 1.数组越界,nil值初始化导致的崩溃。2.对字典插入nil值,或者读取NSNULL导致的崩溃。3...

  • 05.指针

    指针 未初始化和非法指针 NULL指针 NULL指针是一个特殊的指针变量,不指向任何变量,值为零值 如果访问NUL...

网友评论

      本文标题:iOS10.3系统Release模式下下未初始化指针导致崩溃

      本文链接:https://www.haomeiwen.com/subject/gdokbttx.html