我从一位客户那里得到了崩溃日志,以找出我的应用程序在她的 iPhone 上崩溃的原因。
这里有一些来自崩溃日志的信息:
异常类型:EXC_CRASH (SIGABRT) 异常代码:0x00000000、0x00000000 崩溃的线程:0
线程 0 的堆栈跟踪
线程 0 崩溃: 0 libSystem.B.dylib 0x3293f98c 0x328c1000 + 518540 1 libSystem.B.dylib 0x3293f97c 0x328c1000 + 518524 2 libSystem.B.dylib 0x3293f96e 0x328c1000 + 518510 3 libSystem.B.dylib 0x3295461a 0x328c1000 + 603674 4 libstdc++.6.dylib 0x30a143b0 0x309cf000 + 283568 5 libobjc.A.dylib 0x3347a858 0x33475000 + 22616 6 libstdc++.6.dylib 0x30a12776 0x309cf000 + 276342 7 libstdc++.6.dylib 0x30a127ca 0x309cf000 + 276426 8 libstdc++.6.dylib 0x30a12896 0x309cf000 + 276630 9 libobjc.A.dylib 0x33479714 0x33475000 + 18196 10 核心基础 0x335c8210 0x33534000 + 606736 11 核心基础 0x3354ea8e 0x33534000 + 109198 12 核心基础 0x33545ab8 0x33534000 + 72376 13 Journaler Lite 0x0001699e -[AccountManager unsignedIntegerValueForPath:] (AccountManager.m:151) ...
这是来自的代码AccountManager.m
:
NSNumber *number = ...; 如果(数字){ 返回[数字无符号整数值];// 第 151 行 } 别的 { 返回0; }
主要问题是如何阅读这样的崩溃日志?该应用程序在系统库内的某处崩溃,没有更多其他信息。有什么方法可以找到崩溃的原因吗?
更新:
我搜索了很多论坛帖子,其中异常类型是EXC_CRASH (SIGABRT)
,崩溃线程堆栈的第一行是:
线程 0 崩溃: 0 libSystem.B.dylib 0x3293f98c 0x328c1000 + 518540 1 libSystem.B.dylib 0x3293f97c 0x328c1000 + 518524 2 libSystem.B.dylib 0x3293f96e 0x328c1000 + 518510 3 libSystem.B.dylib 0x3295461a 0x328c1000 + 603674 4 libstdc++.6.dylib 0x30a143b0 0x309cf000 + 283568 5 libobjc.A.dylib 0x3347a858 0x33475000 + 22616 6 libstdc++.6.dylib 0x30a12776 0x309cf000 + 276342 7 libstdc++.6.dylib 0x30a127ca 0x309cf000 + 276426 8 libstdc++.6.dylib 0x30a12896 0x309cf000 + 276630 9 libobjc.A.dylib 0x33479714 0x33475000 + 18196 10 核心基础 0x335c8210 0x33534000 + 606736 11 核心基础 0x3354ea8e 0x33534000 + 109198
这个异常类型 ( EXC_CRASH (SIGABRT)
) 是什么意思?