美文网首页
修复crash心得

修复crash心得

作者: tom__zhu | 来源:发表于2021-01-29 14:43 被阅读0次
Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  56

Thread 56 name:
Thread 56 Crashed:
0   libsystem_kernel.dylib          0x00000001bc37b414 __pthread_kill + 8
1   libsystem_pthread.dylib         0x00000001d8893b40 pthread_kill + 272 (pthread.c:1388)
2   libsystem_c.dylib               0x00000001987a0bf4 __abort + 116 (abort.c:147)
3   libsystem_c.dylib               0x00000001987a0b80 abort + 116 (abort.c:118)
4   libsystem_malloc.dylib          0x000000019e82649c malloc_vreport + 560 (malloc_printf.c:183)
5   libsystem_malloc.dylib          0x000000019e82667c malloc_report + 64 (malloc_printf.c:192)
6   libsystem_malloc.dylib          0x000000019e81af68 free + 532 (malloc.c:1862)
7   CoreFoundation                  0x000000018f3598fc -[__NSArrayM insertObject:atIndex:] + 360 (NSArrayM_Common.h:260)
8   XXXPhoneVideo                   0x0000000108cbdac0 -[XXImgsPrefetcherMgr prefetchImgsWithUrls:completedBlock:] + 160 (XXImgsPrefetcher.m:194)
9   XXXPhoneVideo                   0x0000000108cbd9cc -[XXImgsPrefetcherMgr prefetchImgsUrlByLaunch:completedBlock:] + 184 (XXImgsPrefetcher.m:180)
10  XXXPhoneVideo                   0x0000000106fa9a84 +[XXPlayerPreInitManager preLoadHighLevelCloudImages] + 220 (XXPlayerPreInitManager.m:209)
11  libdispatch.dylib               0x000000018f06f24c _dispatch_call_block_and_release + 32 (init.c:1454)
12  libdispatch.dylib               0x000000018f070db0 _dispatch_client_callout + 20 (object.m:559)
13  libdispatch.dylib               0x000000018f073ddc _dispatch_queue_override_invoke + 692 (inline_internal.h:2548)
14  libdispatch.dylib               0x000000018f08193c _dispatch_root_queue_drain + 356 (inline_internal.h:2589)
15  libdispatch.dylib               0x000000018f082120 _dispatch_worker_thread2 + 116 (queue.c:6777)
16  libsystem_pthread.dylib         0x00000001d88947c8 _pthread_wqthread + 216 (pthread.c:2219)
17  libsystem_pthread.dylib         0x00000001d889b75c start_wqthread + 8

这个崩溃从堆栈上看比较奇怪,是在系统进行malloc内存分配的时候出现了异常触发了abort()函数。同时这段业务代码调用并不存在可能触发这类异常的逻辑,所以可以大胆猜测这份Crash实际上堆栈已经被破坏了(Heap corruption),最重要的是堆错误的时候可能是在指针出现损坏(野指针)后很久才会被访问到导致崩溃。所以这份奇怪的Crash实际上并非真正导致崩溃的现场,这种情况就需要借助其他内存排查工具去解决。

Crash及其分析技巧的一点心得

相关文章

  • 修复crash心得

    这个崩溃从堆栈上看比较奇怪,是在系统进行malloc内存分配的时候出现了异常触发了abort()函数。同时这段业务...

  • Crash信息监控思考

    1.Crash信息监控Crash修复的难点在于信息收集,针对Crash上报信息进行修复,Crash分为java层C...

  • 美团技术文档总结-crash

    android crash治理: 我的crash治理: 代码逻辑上的错误引发的crash-----修复并总结 兼容...

  • 2019-03-09

    大白健康系统--iOS APP运行时Crash自动修复系统

  • 热修复

    热修复流程 线上检测到严重crash 拉去bugfix分支并在分支上修复问题 jenkins构建和补丁生成 app...

  • iOS 捕获Crash方法

    iOS开发无法避免程序Crash问题,开发过程中可以用调试技术捕获Crash进行修复,但是发布到App Store...

  • iOS-App上线后收集Crash问题用到的第三方·BugHD

    其实很简单其实很自然 收集 Crash 是应用开发必要的环节, 通过分析和修复 Crash 信息可以大大提高应用的...

  • mysql存储引擎

    InnoDB: (1)具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recover...

  • 快速集成Bugly Android SDK

    腾讯Bugly,面向移动开发者提供最专业的Crash监控、崩溃分析等质量跟踪服务,为您修复用户的每一次Crash!...

  • iOS内功篇:浅谈Crash

    iOS开发中,解决Crash相信是开发者最为头疼的问题了,特别是对于已上线的应用,对其Crash的跟踪和修复显得尤...

网友评论

      本文标题:修复crash心得

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