以下是我的应用程序在 iPhone 6 Plus (arm64) 中发生的崩溃日志的一部分:
0 libobjc.A.dylib 0x35b4ef66 objc_msgSend + 6 1 UIKit 0x2a905dd1 -[UIScrollView setContentOffset:] + 626 2 UIKit 0x2aa871b9-[UIAnimator(静态)_advanceAnimationsOfType:withTimestamp:] + 270 3 UIKit 0x2aa870a5 -[UIAnimator(静态)_LCDHeartbeatCallback:] + 50 4 石英核心 0x2a34cb67 _ZN2CA7Display15DisplayLinkItem8dispatchEv + 96 5 石英核心 0x2a34c9cf _ZN2CA7Display11DisplayLink14dispatch_itemsEyyy + 364 6 IOMobileFramebuffer 0x2f0f9c03 IOMobileFramebufferVsyncNotifyFunc + 88 7 IOKit 0x28204d0d IODispatchCalloutFromCFMessage + 254 8 核心基础 0x27240555 __CFMachPortPerform + 130 9 核心基础 0x27250a4b __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32 10 核心基础 0x272509e7 __CFRunLoopDoSource1 + 344 11 核心基础 0x2724f009 __CFRunLoopRun + 1606 12 核心基础 0x2719a9a1 CFRunLoopRunSpecific + 474 13 核心基础 0x2719a7b3 CFRunLoopRunInMode + 104 14 图形服务 0x2eb421a9 GSEventRunModal + 134 15 UIKit 0x2a94b635 UIApplicationMain + 1438 16 MyOwnApp 0x00039c67 主 (main.m:37) 17 libdyld.dylib 0x36110aaf 开始 + 0
我已经使用 dwarfdump 验证了 .app 文件和 .dsym 文件的 UUID,并验证了它们都具有相同的 UUID。崩溃报告中提到的 UUID 是针对 arm64 的。
现在当我执行命令时:
atos -arch arm64 MyOwnApp.app/MyOwnApp 0x00039c67
该命令的输出是相同的十六进制地址 0x00039c67。但是当我将arch从arm64更改为armv7时,它指定了一个方法名称。
此外,如果我在构建输出中看到 main.m 的第 37 行(我在 Appcelerator 中编码),那么它只会调用 UIApplication 函数,我认为这可能是应用程序的入口点。我不喜欢 iOS 原生开发。
有人可以在这方面帮助我。