找出 iOS 模拟器崩溃报告
Figuring out an iOS Simulator crash report
我正在使用 Appcelerator 框架编写应用程序,但偶尔会发生崩溃。我试图找出导致崩溃的原因,所以我决定查看 iOS 模拟器崩溃报告。这当然对我来说都是希腊语,但我希望得到一些指导,说明这其中的哪一部分是导致坠机原因的线索?
我拉出了标记为 'Crashed' 的线程,但在该线程中有多个条目 (0-9),如下所列。是否有任何线索可以找出是哪些条目导致了问题?
Crashed Thread: 2 KrollContext<kroll>
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000bbadbeef
Thread 2 Crashed:: KrollContext<kroll>
0 com.a 0x000000010082865e Ti_WTFCrash + 62
1 com.a 0x000000010069ffe9 TiObjectGetProperty + 361
2 com.a 0x00000001002c42e5 -[KrollObject objectForTiString:context:] + 101
3 com.a 0x00000001002bf6a5 KrollGetProperty + 165
4 com.a 0x0000000100656ef7 TI::JSCallbackObject<TI::JSDestructibleObject>::getOwnPropertySlot(TI::JSObject*, TI::ExecState*, TI::PropertyName, TI::PropertySlot&) + 487
5 com.a 0x00000001005e32aa TI::TiValue::get(TI::ExecState*, TI::PropertyName, TI::PropertySlot&) const + 362
6 com.a 0x00000001006f6ec0 llint_slow_path_get_by_id + 192
7 com.a 0x0000000100701711 llint_op_get_by_id + 98
8 com.a 0x0000000100703ae2 llint_op_call + 153
9 com.a 0x00000001006ffea5 callToJavaScript + 191
SIGSEGV
当您尝试使用已被垃圾回收的对象时会发生错误。这相当于 Android.
上的 NullPointer 错误
看到它也有 callToJavaScript
将意味着本机事件或回调不再找到 JavaScript 对象。
我建议使用 Appcelerator Studio 调试器并单步执行代码直至崩溃。
我正在使用 Appcelerator 框架编写应用程序,但偶尔会发生崩溃。我试图找出导致崩溃的原因,所以我决定查看 iOS 模拟器崩溃报告。这当然对我来说都是希腊语,但我希望得到一些指导,说明这其中的哪一部分是导致坠机原因的线索?
我拉出了标记为 'Crashed' 的线程,但在该线程中有多个条目 (0-9),如下所列。是否有任何线索可以找出是哪些条目导致了问题?
Crashed Thread: 2 KrollContext<kroll>
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000bbadbeef
Thread 2 Crashed:: KrollContext<kroll>
0 com.a 0x000000010082865e Ti_WTFCrash + 62
1 com.a 0x000000010069ffe9 TiObjectGetProperty + 361
2 com.a 0x00000001002c42e5 -[KrollObject objectForTiString:context:] + 101
3 com.a 0x00000001002bf6a5 KrollGetProperty + 165
4 com.a 0x0000000100656ef7 TI::JSCallbackObject<TI::JSDestructibleObject>::getOwnPropertySlot(TI::JSObject*, TI::ExecState*, TI::PropertyName, TI::PropertySlot&) + 487
5 com.a 0x00000001005e32aa TI::TiValue::get(TI::ExecState*, TI::PropertyName, TI::PropertySlot&) const + 362
6 com.a 0x00000001006f6ec0 llint_slow_path_get_by_id + 192
7 com.a 0x0000000100701711 llint_op_get_by_id + 98
8 com.a 0x0000000100703ae2 llint_op_call + 153
9 com.a 0x00000001006ffea5 callToJavaScript + 191
SIGSEGV
当您尝试使用已被垃圾回收的对象时会发生错误。这相当于 Android.
看到它也有 callToJavaScript
将意味着本机事件或回调不再找到 JavaScript 对象。
我建议使用 Appcelerator Studio 调试器并单步执行代码直至崩溃。