【发布时间】:2020-09-24 10:52:59
【问题描述】:
所以我有这个崩溃日志。从我可以从 DateTimeHelper 收集到的函数中,我得到了一个它不期望的对象,并在其上执行该对象没有的函数。
我无法重现该问题,因此我不知道它在函数内部的确切位置。我可以从崩溃日志中找出一些方法吗?与函数条目 +176 的字节偏移量有帮助吗?正在执行的机器指令的地址是否有帮助?我完全不知道如何使用这两个数字。
0 CoreFoundation 0x24c0f916 __exceptionPreprocess + 122 (NSException.m:162)
1 libobjc.A.dylib 0x243aae12 objc_exception_throw + 34 (objc-exception.mm:531)
2 CoreFoundation 0x24c152b0 -[NSObject(NSObject) doesNotRecognizeSelector:] + 184 (NSObject.m:333)
3 CoreFoundation 0x24c12edc ___forwarding___ + 696 (NSForwarding.m:3149)
4 CoreFoundation 0x24b3e234 _CF_forwarding_prep_0 + 20 (NSForwarding.s:641)
5 MyApp 0xc83c4 +[DateTimeHelper dateFromServerFormat:withLocale:andTimeZone:] + 176
为什么 MyApp 框架没有文件和行号?这是某种隐私问题吗?崩溃日志来自管理器报告。我记得以前可以单击管理器中的功能,它会将我发送到确切的位置。现在不知道是不是新的 Xcode 12.0 (12A7209) 破坏了它。它只在 Xcode 中打开堆栈,仅此而已。
【问题讨论】:
-
你有崩溃的构建的 .dSYM 吗?如果是这样,您可能可以使用
atos来查找行号。 -
以前的用户建议我象征崩溃。我认为崩溃是象征性的,因为其中有函数名称而不是地址。然而,Apple 没有提供文件和代码行,显然你应该自己手动获取....
标签: objective-c debugging crash