首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >iOS应用程序中的生产崩溃日志

iOS应用程序中的生产崩溃日志
EN

Stack Overflow用户
提问于 2018-05-30 06:39:32
回答 1查看 211关注 0票数 1

我的崩溃日志显示这一点,但没有任何信息。使用atos命令,我得到了这个信息,说明登录视图控制器中有专门的UnsafeBufferPointer.count.getter。你知道为什么会发生这起撞车事故吗?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000010
VM Region Info: 0x10 is not in any region.  Bytes before following region: 4340006896
      REGION TYPE                      START - END             [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      __TEXT                 0000000102af4000-0000000102af8000 

Thread 7 name:
Thread 7 Crashed:
0   libobjc.A.dylib                 0x00000001821e4430 objc_msgSend + 16
1   UIKit                           0x000000018c543d90 -[UIWindowLayer actionForKey:] + 80 (UIWindow.m:432)
2   QuartzCore                      0x0000000186fcb984 -[CALayer layoutSublayers] + 244 (CALayer.mm:9308)
3   QuartzCore                      0x0000000186fcfad0 CA::Layer::layout_if_needed(CA::Transaction*) + 332 (CALayer.mm:9182)
4   QuartzCore                      0x0000000186f3c31c CA::Context::commit_transaction(CA::Transaction*) + 336 (CALayer.mm:2416)
5   QuartzCore                      0x0000000186f63b40 CA::Transaction::commit() + 540 (CATransactionInternal.mm:425)
6   QuartzCore                      0x0000000186f64980 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 92 (CATransactionInternal.mm:795)
7   CoreFoundation                  0x0000000182f2ecdc __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 (CFRunLoop.c:1824)
8   CoreFoundation                  0x0000000182f2c694 __CFRunLoopDoObservers + 412 (CFRunLoop.c:1934)
9   CoreFoundation                  0x0000000182e4cc78 CFRunLoopRunSpecific + 468 (CFRunLoop.c:3247)
10  WebCore                         0x000000018adc184c RunWebThread(void*) + 560 (WebCoreThread.mm:690)
11  libsystem_pthread.dylib         0x0000000182bb02b4 _pthread_body + 308 (pthread.c:740)
12  libsystem_pthread.dylib         0x0000000182bb0180 _pthread_start + 312 (pthread.c:799)
13  libsystem_pthread.dylib         0x0000000182baeb74 thread_start + 4
EN

回答 1

Stack Overflow用户

发布于 2018-07-12 18:30:17

在我看来,这像是堆损坏。很可能是dangling pointer。基本上,-[UIWindowLayer actionForKey:]与指向某个对象的指针交互,该指针不再是指向有效对象的指针。这是导致objc_msgSend内崩溃的一个非常常见的原因。

我恐怕说这份报告不太可能揭示原因。导致悬空指针的崩溃发生的时间与导致崩溃的时间不同是很常见的()。因此,捕获的堆栈跟踪揭示此指针不再有效的原因的可能性非常低。

在这种情况下,我通常推荐的是:

  • 寻找其他看起来与堆损坏相关的崩溃(例如,在objc_msgSend中有更多),
  • 尝试使用Instruments
  • Try malloc scribble或
  • Zombies,这是另外两个很好的内存调试工具

对堆损坏进行推理是很困难的,甚至是不可能的。所以,只要尝试找到并修复尽可能多的问题即可。它们中的一个完全有可能造成了各种事故,其中一起可能就是这起。

祝好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50597880

复制
相关文章
iOS开发——解析崩溃日志
在实际的开发过程中,作为开发者的我们常常会碰到一种场景,那就是真机调试时崩溃了,而有时又不能在Xcode中打印出崩溃信息,那么这时候我们就必须要获取到崩溃原因,从而解决问题。
Originalee
2018/08/30
1.4K0
iOS开发——解析崩溃日志
iOS如何获取崩溃日志
在日常测试iOS中会经常遇到App崩溃的情况,然后给研发提bug。如果就提bug就有一两句话描述,研发很难精准排查问题,所以作为测试人员需要提供崩溃日志或者崩溃堆栈辅助研发排查问题。
测试加
2022/12/05
3.3K0
iOS如何获取崩溃日志
iOS崩溃日志ips文件解析
  测试组的同事在进行稳定性测试时,通常会遇到一些崩溃,然后他们会将这些崩溃日志(一般是ips格式的文件)反馈给开发进行分析,但是这些ips文件中的内容通常是如下图这样的,都是一些十六进制的堆栈地址,如果仅仅根据这些堆栈地址,我们基本无法做任何事情,连最基本的崩溃定位都做不到。那么,在iOS开发中,还有一些其他的方法可以帮助我们将这些堆栈信息转化为可视化的日志文件,在转化后的可视化日志文件中,我们可以清晰定位到我们的应用崩溃的位置,如下图2所示。
mukekeheart
2018/08/20
7.5K0
iOS崩溃日志ips文件解析
iOS 友盟崩溃日志定位代码
如果我的介绍没帮到你,可以看看这篇文章: http://www.jianshu.com/p/77d8b5e0d8c3
且行且珍惜_iOS
2018/08/13
2.2K0
iOS 友盟崩溃日志定位代码
iOS 真机导出崩溃堆栈日志
那就是使用第三方bugly来记录崩溃日志,在bugly上配置好符号表后方法调用即可清晰可见。
小明同学接音视频
2020/12/22
2.2K0
iOS 真机导出崩溃堆栈日志
iOS 中各种奇怪的崩溃
注意,本文所有崩溃的原因都是同一个 EXC_BAD_ACCESS (code=1, address=0x11f645b98) image-20210423232626879 第一个堆栈:字典扩容 im
酷酷的哀殿
2021/04/26
1.7K1
iOS  中各种奇怪的崩溃
Mac 全栈开发-查看IOS应用崩溃时的日志
首先用iTunes的同步功能,将手机的各种信息同步至电脑: 然后,崩溃日志可以在这里找到: ~/Library/Logs/CrashReporter/MobileDevice/<DEVICE_
用户1065635
2019/03/21
7830
Mac 全栈开发-查看IOS应用崩溃时的日志
iOS WKWebview的iOS 11以下崩溃问题
以上崩溃问题,经发现是没有removeObserver或者delegate没有设置为nil产生
freesan44
2020/05/04
1.1K0
iOS中防止数组越界之后发生崩溃
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/56011127
用户1451823
2018/09/13
2.1K0
iOS Crash不崩溃
用户在使用App的过程中,经常遇到闪退的情况,体验不太好,本文尝试探索引发闪退的原因,以及在遇到crash的情况下,尽可能的保持程序运行,并及时上报错误。
用户2814378
2022/11/07
2.2K0
iOS Crash不崩溃
ADB获取APP崩溃日志
在测试Android APP的过程中遇到crash时,我们都需要把崩溃日志导出来作为附件传到bug管理工具中,今天分享一下我用的方式。
张树臣
2018/08/16
2.6K0
iOS中解决后台返回的null导致的崩溃问题--NullSafe
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/54846264
用户1451823
2018/09/13
2.2K0
ios开发之UICollectionView 崩溃的记录
今天写代码,遇见了这样的错误,检查代码都没有错误,运行还是报如下的错误: *** Assertion failure in -[UICollectionView _dequeueReusableViewOfKind:withIdentifier:forIndexPath:viewCategory:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.60.7/UICollectionView.m:3983 这是我写的
roc
2018/03/30
8650
ios开发之UICollectionView 崩溃的记录
ios开发之UICollectionView 崩溃的记录
今天写代码,遇见了这样的错误,检查代码都没有错误,运行还是报如下的错误: *** Assertion failure in -[UICollectionView _dequeueReusableViewOfKind:withIdentifier:forIndexPath:viewCategory:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.60.7/UICollectionView.m:3983 这是我写的
roc
2018/03/30
8570
ios开发之UICollectionView 崩溃的记录
如何方便的收集app崩溃日志
很多人可能没了解过这个东西可以干嘛用, 其实它的作用是可以传入一个 Handler来捕获那些没有被捕获的异常, 比如 app 层面的 crash。 下面提供了一段源码,可以用来捕获并把异常写入到文件中, 当然如果要上报的话也只需要把对应的字符串上报到统计系统就行。
PhoenixZheng
2018/08/07
6600
教你如何查看Pod崩溃前的日志
当pod处于crash状态的时候,容器不断重启,此时用kubelet logs可能出现一直捕捉不到日志
用户1107783
2023/09/11
1K0
教你如何查看Pod崩溃前的日志
在IPA中重签名iOS应用程序
当我们在对iOS应用程序执行黑盒安全测试时,我们一般只能从AppStore来访问和获取iOS应用程序。但是在大多数情况下,客户都会给我们提供一个IPA文件。在黑盒测试过程中,我们无法访问目标应用的源代码,因此通过Xcode将其部署到设备并进行测试,几乎是不可能的。但是有一种可行的解决方案,即使用我们手头上的配置文件来重新启动应用程序,并将其部署到我们的测试设备上。
FB客服
2020/03/10
2.4K0
解决 Flutter 引起的 iOS 内存崩溃问题
事情发生在最近,我们的应用(稿定设计)新上线的 iOS 版本崩溃数据飙升。根据崩溃日志和用户反馈,大部分新增崩溃都来自于同一个原因:内存不足。有的直接变成 OOM,不易排查。有的则是申请内存失败,导致后续逻辑错误的崩溃。
Swift社区
2022/12/12
1.7K0
解决 Flutter 引起的 iOS 内存崩溃问题
崩溃日志记录Landroid/support/v4/animation/AnimatorCompatHelper[通俗易懂]
今天再写解析json数据的时候,app运行手机,突然就崩溃了,查看了日志,
全栈程序员站长
2022/07/20
3300
使用ProcDump工具解决Windows应用程序崩溃
ProcDump是一个可以用于诊断多种问题点的命令行工具。和Dr.Watson、ADPlus以及DebugDiag一样,ProcDump可以在不期望的情况或者异常发生时,用于俘获一个进程的内存转储。而且也同ADPlus以及DebugDiag一样,它可以对一个挂起的应用程序强制进行进程转储。但和之前的任何工具不同的是,ProcDump可以在CPU的活动峰值达到一个指定的级别时,对一个进程进行转储。这对于那些间歇性的性能问题是特别有用的,对于这种问题,其发生是很难预测的。 ProcDump包括一个单独的可执行
张善友
2018/01/29
2.9K0

相似问题

在iOS应用程序中读取生产崩溃日志

10

企业ios应用程序中的崩溃日志

322

Xamarin IOS应用程序崩溃日志

12

iOS应用程序崩溃日志AddressBook

127

ios应用程序崩溃,没有日志

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文