iOS崩溃libobjc.A.dylib objc_msgSend

时间:2015-07-11 12:08:39

标签: ios objective-c crash libobjc

我在Crashlytics中收到了如下所示的崩溃。

我无法理解应用程序中的这个形式。不幸的是,我自己从来没有能够产生这种崩溃,但它是在野外发生的。

只有一个对应用名称的引用,并且没有任何内容可以显示应用程序的来源。

事实上,没有关于应用程序在何处发生的数据,这表明在didFinishLaunchingWithOptions期间发生了一个问题,因此实际上没有足够的距离来显示任何进一步的细节?或者是否有其他原因导致数据中缺少日志以显示问题所在?

有人可以建议我如何追踪这个吗?

RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
    recyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
    recyclerView.setAdapter(adapter);

我在关于此帖子的评论中添加以下内容。此代码是与UI相关的主要更改,除了通常的标签设置等,我无法看到问题。

以下代码已添加到AppDelegate.m,DidFinishLaunchingWithOptions。

我很想知道,因为崩溃不是我能够重新制作的东西,而且每天发生的事情只是在极少数情况下,如果它可能是一个时间问题,并且UI无法接收消息。

我欢迎任何想法,如果您同意,我应该将代码转移到ViewController中的ViewDidLoad。

    Thread : Crashed: com.apple.main-thread
0  libobjc.A.dylib                0x0000000195de3bd0 objc_msgSend + 16
1  CoreFoundation                 0x0000000183fd9458 CFRelease + 524
2  CoreFoundation                 0x0000000183fe5a18 -[__NSArrayM dealloc] + 152
3  libobjc.A.dylib                0x0000000195de9724 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 564
4  CoreFoundation                 0x0000000183fdd074 _CFAutoreleasePoolPop + 28
5  Foundation                     0x0000000184f0e588 -[NSAutoreleasePool release] + 148
6  UIKit                          0x0000000188be03f4 -[UIApplication _run] + 588
7  UIKit                          0x0000000188bdaf40 UIApplicationMain + 1488
8  _THE_APP_NAME_                 0x0000000100031e20 main (main.m:16)
9  libdyld.dylib                  0x000000019647aa08 start + 4

Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x00000000f5b2beb8

2 个答案:

答案 0 :(得分:4)

在搜索代码后,我偶然发现了objc_msgSend [__NSArrayM dealloc] crash report sometimes from Crashlytics上的另一篇文章。

似乎Crashlytics在3.0.9中有一个错误,并且是导致此问题的原因。

更新了SDK,现在一切正常。

答案 1 :(得分:0)

这是系统库导致的崩溃。你在这里做的不多