【问题标题】:Can't symbolicate crash logs无法符号化崩溃日志
【发布时间】:2021-04-04 14:41:25
【问题描述】:

我的应用程序崩溃了:

Thread 0 name:
Thread 0 Crashed:
0   LogoQuizAC                      0x0000000104705218 __hidden#563_ + 0 (__hidden#957_:0)
1   LogoQuizAC                      0x0000000104705218 _hidden#18_ + 592 (__hidden#957_:135)
2   LogoQuizAC                      0x000000010470503c __hidden#564_ + 48 (__hidden#456_:0)
3   LogoQuizAC                      0x000000010470503c _hidden#18_ + 116 (__hidden#957_:135)
4   LogoQuizAC                      0x00000001046fcd6c _hidden#17_ + 504 (__hidden#454_:96)
5   LogoQuizAC                      0x00000001046fcea0 _hidden#20_ + 36 (__hidden#456_:0)
6   Foundation                      0x0000000182770b20 __NSFireTimer + 68 (NSTimer.m:270)
7   CoreFoundation                  0x0000000181355fa0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 32 (CFRunLoop.c:1807)
8   CoreFoundation                  0x0000000181355ba0 __CFRunLoopDoTimer + 1064 (CFRunLoop.c:2415)
9   CoreFoundation                  0x0000000181354ffc __CFRunLoopDoTimers + 328 (CFRunLoop.c:2575)
10  CoreFoundation                  0x000000018134eee4 __CFRunLoopRun + 1936 (CFRunLoop.c:3090)
11  CoreFoundation                  0x000000018134e21c CFRunLoopRunSpecific + 600 (CFRunLoop.c:3242)
12  GraphicsServices                0x0000000198f18784 GSEventRunModal + 164 (GSEvent.c:2259)
13  UIKitCore                       0x0000000183d8eee8 -[UIApplication _run] + 1072 (UIApplication.m:3253)
14  UIKitCore                       0x0000000183d9475c UIApplicationMain + 168 (UIApplication.m:4707)
15  LogoQuizAC                      0x000000010453a404 main + 68 (RLockedCell.swift:21)
16  libdyld.dylib                   0x000000018100e6b0 start + 4

我几乎尝试了所有方法,但可以象征崩溃。

我尝试使用symbolicatecrash,然后是这些帖子:

(_hidden#919_:0) inside crash symbolication file

Why aren't the crashlogs from Testflight symbolicating in Xcode?

Xcode Crash Organizer does Not Symbolicate .xccrashpoint Files

How to symbolicate crash log with Xcode 8?

how Symbolicate a crash file using xcarchive

How to symbolicate crash log Xcode?

但没有任何成功。

我做错了什么?如何找出导致崩溃的原因?

【问题讨论】:

  • 如果此版本以 Ad-Hoc 形式分发,请确保禁用 BitCode
  • 它没有在 AdHoc 中分发,但我也为最新的 AppStore 版本禁用了 BitCode。认为它可能会提示我导致崩溃的原因。
  • 它在启动时崩溃了吗?
  • 我认为这不是我不知道,因为我无法重现崩溃,我尝试了多次但没有成功,即使有 10% 以上的用户体验过。
  • 如果您想更好地了解导致崩溃的流程,请让您的视图控制器在出现时向 Crashlytics 报告自己:Crashlytics.crashlytics().log("(self) will appear") .这样,在查看崩溃时,您可以单击“日志”选项卡并获取场景

标签: ios swift xcode bitcode symbolicatecrash


【解决方案1】:

好消息是它在您的代码中崩溃,而不是在操作系统或库代码中,因此您有很好的机会对其进行调试。您正在崩溃的代码正在运行计时器。有时会看到这些错误,因为在测试中,您只是在测试应用程序。但在现实世界中,这些计时器会在您意想不到的时候触发。

例如,有人运行了您的应用,然后在使用另一个应用时将其置于后台,或者例如他们在使用该应用时接到了一个电话。如果您附上.crash 文件的完整内容,它将提供有关崩溃原因的更多信息。

您可以做的另一件事是将断言放入您的代码中,例如在您依赖的每个非空对象的计时器回调函数中。

您可能会发现您的应用正在尝试在屏幕上绘图但在后台。这是使用计时器的游戏在现场出现崩溃的常见原因。这听起来像是一种概括,但建议您尝试让您以不同的方式思考您的客户所面临的现实世界环境,这可能是失败的原因。

【讨论】:

  • 实际上昨天我才明白它可能是一个计时器(因为崩溃日志的其余部分),我只在我的应用程序的一个地方使用了一个计时器。我发现没有计时器失效,这意味着他永远运行(当应用程序放回后台时可能会导致崩溃)
  • 非常感谢您提供详细解释的答案。
猜你喜欢
  • 2011-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-23
  • 2013-12-14
相关资源
最近更新 更多