找出 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 调试器并单步执行代码直至崩溃。