我想试着象征我的iPhone应用程序的崩溃报告.
我从iTunes Connect检索了崩溃报告.我有我提交到App Store的应用程序二进制文件,我有作为构建的一部分生成的dSYM文件.
我将所有这些文件放在一个由聚光灯索引的目录中.
现在怎么办?
我试过调用:
symbolicatecrash crashreport.crash myApp.app.dSYM
Run Code Online (Sandbox Code Playgroud)
它只是输出崩溃报告中的相同文本,而不是符号化.
难道我做错了什么?
因此,我使用Xcode 6的技术似乎已被弃用,symbolicatecrash.sh脚本不再位于xcode包中.相反,在Xcode 6具有脚本的同一文件夹路径中有一个名为symbolicatecrash的可执行文件.
有谁知道Apple移动symbolicatecrash.sh进行手动符号化?Xcode 6中的脚本使用Xcode 7运行错误.
我曾经在Xcode 5.1.1中直接表示崩溃报告,因为Organizer的Devices部分中有"Symbolicate&Re-symbolicate".但升级到Xcode 6.1后,我既没有找到symbolicate也没有resymbolicate选项来查看崩溃日志.我糊涂了.怎么做?
以前我曾经将设备与iTunes同步并查看崩溃~/Library/Logs/CrashReporter/MobileDevice.单击任何崩溃将打开设备(Xcode),然后符号化.但现在,它打开了Console,没有符号选项.Xcode 6.1有这样的选择吗?
我最近为我的应用推出了iOS 7更新,并实现了Flurry Analytics并启用了崩溃报告.我最近注意到一些用户遇到了崩溃.使用Flurry我可以在应用程序崩溃时检索堆栈跟踪以追踪问题.
好吧,我当然熟悉崩溃报告,并且已经修复了之前使用它们的错误,从iTunes Connect或邮件中获取它们并简单地在Xcode中对它们进行符号化.然而,我没有成功使用Flurry做到这一点.
我尝试了什么:
在Flurry上查看堆栈跟踪时,这就是我得到的:
正如您所看到的,很多线条都是完美的象征,其他线条则象征着<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 …Run Code Online (Sandbox Code Playgroud) 在Xcode 8中哪里有symbolicatecrash工具?
在Xcode 7中它曾经在这里:
/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash
Run Code Online (Sandbox Code Playgroud) 我试图找出为什么我的应用程序崩溃某些用户.我个人无法复制它.
用户通过电子邮件发送了他们的IPS文件.这是我在Organizer中加载后的输出,右键单击,选中Re-symbolicate:http: //pastebin.com/8q6RE7sU
我假设这是我的代码中出现问题的地方:
3 FlightMachine 0x000000010003b970 0x100028000 + 80240
4 FlightMachine 0x000000010008b79c 0x100028000 + 407452
Run Code Online (Sandbox Code Playgroud)
但是我如何找出问题所在0x100028000 + 80240,找出实际问题是什么?
谢谢.
我想对使用 [NSThread callStackSymbols] 记录的堆栈跟踪符号进行符号化,以识别完整的堆栈回溯调用。但是,这并没有给出符号化的痕迹。
0 TestApp 0x0029616f TestApp + 1823087
1 TestApp 0x003ef18d TestApp + 3236237
2 UIKit 0x2ab7bb1f <redacted> + 438
3 UIKit 0x2ac0bea3 <redacted> + 306
4 UIKit 0x2ab7bb1f <redacted> + 438
5 CoreFoundation 0x2757546d <redacted> + 48
6 CoreFoundation 0x2756e4c3 <redacted> + 234
7 UIKit 0x2ab7bc9b <redacted> + 818
8 UIKit 0x2ae32799 <redacted> + 584
9 UIKit 0x2abdfbd9 <redacted> + 308
10 UIKit 0x2ab5bdd7 <redacted> + 458
11 CoreFoundation 0x2760fffd <redacted> + 20
12 CoreFoundation 0x2760d6bb <redacted> …Run Code Online (Sandbox Code Playgroud)