gpt4 book ai didi

ios - 使用 Flurry Crash Analytics 符号化 iOS 7 崩溃报告

转载 作者:技术小花猫 更新时间:2023-10-29 11:00:52 27 4
gpt4 key购买 nike

我最近为我的应用推送了一个 iOS 7 更新,并在启用崩溃报告的情况下实现了 Flurry Analytics。我最近注意到一些用户遇到崩溃。使用 Flurry,我可以在我的应用程序崩溃时检索堆栈跟踪以追踪问题。
好吧,我当然熟悉崩溃报告并且之前已经使用它们修复了错误,方法是从 iTunes Connect 或邮件中获取它们并在 Xcode 中简单地符号化它们。然而,我没有成功地使用 Flurry 做到这一点。

我尝试了什么:
在 Flurry 本身上查看堆栈跟踪时,这就是我得到的: Flurry stack trace如您所见,很多行都被完美地符号化了,其他的被符号化为<redacted>。 .一些研究让我了解到 Apple 在 iOS 6 和 7 中删除了很多调试符号。
我尝试的第一件事是上传我自己的 dSYM 文件。 Flurry 报告 dSYM 文件已保存,并且使用 dSYM 文件再次对崩溃报告进行了符号化。然而,堆栈跟踪仍然与没有 dSYM 时完全相同。
没问题,我想,我可以尝试下载崩溃报告并使用 Xcode 对其进行符号化。单击下载 给我一个文件(没有扩展名,所以我将其重命名为 .crash ),内容如下:

Hardware Model:      iPhone3,1
Process: RadioPlayer [2965]
Path: /var/mobile/Applications/E4DD7DA6-4450-4538-A1E2-AE23139FAC10/RadioPlayer.app/RadioPlayer
Identifier: *******
Version: 1.2.0
Code Type: ARM
Parent Process: launchd [1]

Exception Type: SIGSEGV
Exception Codes: SEGV_ACCERR at 0x548a000
Crashed Thread: 2

Thread 0:
0 libsystem_kernel.dylib 0x3aa67a8c _mach_msg_trap + 20
1 CoreFoundation 0x3015e7cb <redacted> + 154
2 CoreFoundation 0x3015cf37 <redacted> + 854
3 CoreFoundation 0x300c7ce7 _CFRunLoopRunSpecific + 522
4 CoreFoundation 0x300c7acb _CFRunLoopRunInMode + 106
5 GraphicsServices 0x34da0283 _GSEventRunModal + 138
6 UIKit 0x32969a41 _UIApplicationMain + 1136
7 RadioPlayer 0x000dfb9b __mh_execute_header + 23451
8 libdyld.dylib 0x3a9c3ab7 <redacted> + 2

Thread 1:
0 libsystem_kernel.dylib 0x3aa6783c _kevent64 + 24
1 libdispatch.dylib 0x3a9a23f3 <redacted> + 38

Thread 2 Crashed:
0 vImage 0x2f19d7dc <redacted> + 139
1 vImage 0x2f1874ff _vImageFlatten_RGBA8888 + 378
2 vImage 0x2f26e799 <redacted> + 40
3 vImage 0x2f27d7c3 <redacted> + 674
4 vImage 0x2f27d365 _vImageConvert_AnyToAny + 1300
5 ImageIO 0x30efd9e7 <redacted> + 858
6 ImageIO 0x30ef8c3b <redacted> + 2754
7 ImageIO 0x30ef8173 <redacted> + 102
8 ImageIO 0x30ef8057 _CGImageDestinationFinalize + 66
9 UIKit 0x32a8a611 _UIImageJPEGRepresentation + 520
10 MediaPlayer 0x31435319 -[MPMediaItemArtwork imageDataWithSize:atPlaybackTime:] + 36
11 MediaPlayer 0x31435387 -[MPMediaItemArtwork albumImageDataWithSize:] + 42
12 MediaPlayer 0x31494f0d -[MPNowPlayingInfoCenter _pushNowPlayingInfoAndRetry:] + 824
13 libdispatch.dylib 0x3a99ed7b <redacted> + 10
14 libdispatch.dylib 0x3a99f2f3 <redacted> + 378
15 libdispatch.dylib 0x3a99f75b <redacted> + 38
16 libdispatch.dylib 0x3a9b18f9 <redacted> + 76
17 libdispatch.dylib 0x3a9b1b79 <redacted> + 56
18 libsystem_pthread.dylib 0x3aae0dbf __pthread_wqthread + 298
19 libsystem_pthread.dylib 0x3aae0c84 _start_wqthread + 8


// The file continues like this listing the other threads and overview of binary images.
// I however didn't paste that part here since I don't think it's useful.

我现在尝试将此文件简单地拖到 Xcode 管理器中并导入设备日志。两者都什么也没做。列表中没有出现新的设备日志或其他任何内容。
下一步:尝试使用 atos 手动符号化崩溃日志.我将 dSYM 的内容复制到工作目录等,然后尝试了这个命令

xcrun atos -arch armv7 -o RadioPlayer 0x31435387`

这返回了 0x31435387 .我尝试了一些其他内存地址,每次输出只是内存地址本身。

有人可以帮我解决这个问题吗?我真的很想象征这些 <redacted>符号,因为它肯定会帮助我修复导致这些崩溃的错误。谢谢!

最佳答案

我注意到,为了能够将 Flurry 崩溃报告拖到 XCode Organizer,您需要:

  1. 将文件重命名为 .crash
  2. 在报告顶部添加事件标识符行。这看起来像一个 GUID,因此您可以放置​​任何唯一的或 generate one online ,例如

    事件标识符:D1D6CA1F-EC87-4677-9366-401BE050B2C8

  3. 添加 iOS 和崩溃报告版本行(就在异常类型之上),例如

    操作系统版本:iOS 7.1.1 (11D201)

    报告版本:104

关于ios - 使用 Flurry Crash Analytics 符号化 iOS 7 崩溃报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19813522/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com