hopper disassembler定位crash

问题

最近发现有个项目出现crash,但是定位不到具体那一行,crash为SEGV_ACCERR异常。

image-20210823140717444.png

SEGV_ACCERR一般是内存问题,比如多线程操作某变量、堆栈非法访问、野指针等

查看跟踪数据

image-20210823141250912.png

发现crash基本都发生在切换前后台等操作中

无其他线索可查,于是尝试使用逆向工具hopper disassembler

hopper

hopper disassembler主要就是将Mach-O文件的机器语言代码反编译成汇编代码、OC伪代码。

打开hopper导入应用app文件,


image-20210823141706341.png

前面指向的为崩溃地址,使用hopper -> Modify -> Change File Base Address...

后面指向的项目的基地址,使用hopper -> Navigate -> Go to Address or Symbol...。

输入两个地址后就能定位到崩溃的地方

image-20210823142409624.png

接着结合源码与hopper上的汇编代码很快定位出是野指针问题引起

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.案例 其中有关项目的崩溃信息是第二行,在执行了第二行的方法后,在objc_msgSend + 16 的地方出现...
    coder_feng阅读 5,219评论 1 4
  • 静态分析是指对二进制包进行反编译,分析静态的代码逻辑。 本文内容包括:app 砸壳过程、工具和环境的坑、导出 OC...
    黑超熊猫zuik阅读 9,350评论 0 51
  • Crash 日志从哪来?一般有 2 个渠道: 苹果收集的 Crash 日志 用户手机上 设置 -> 隐私 -> 分...
    M_慕宸阅读 7,824评论 0 10
  • hopper介绍,下载安装 hopper的简单使用 一 hopper介绍,下载安装 Hopper是一个可以帮助我们...
    当前明月阅读 24,839评论 21 26
  • 本文对iOS应用上经常遇到的Crash(常规signal触发的闪退)进行分析,并结合笔者的优化经验,给出Crash...
    Colla阅读 8,426评论 1 11

友情链接更多精彩内容