我想为Symbolicate iOS Crash生成崩溃报告以查看崩溃日志,所以我想使用代码获取崩溃报告,目前我只得到:
* - [__ NSArrayM objectAtIndex:]:索引121超出界限[0 .. 23]
Application received signal SIGSEGV
(
0 CoreFoundation 0x3120e2bb + 186
1 libobjc.A.dylib 0x38f2b97f objc_exception_throw + 30
2 CoreFoundation 0x3120e1c5 + 0
3 myshine 0x001f9f51 myshine + 1503057
4 libsystem_c.dylib 0x393a9e8b _sigtramp + 34
5 myshine 0x000ac985 myshine + 137605
6 myshine 0x000ac35d myshine + 136029
7 CoreFoundation 0x311ab7cf + 74
)
not have
/ 1: Process Information
Incident Identifier: 30E46451-53FD-4965-896A-457FC11AD05F
CrashReporter Key: 5a56599d836c4f867f6eec76afee451bf9ae5f31
Hardware Model: iPhone4,1
Process: Rage Masters [4155]
Path: /var/mobile/Applications/A5635B22-F5EF-4CEB-94B6-FE158D885014/Rage Masters.app/Rage Masters
Identifier: Rage Masters
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
/ / 2: Basic Information
Date/Time: 2012-10-17 21:39:06.967 -0400
OS Version: iOS 6.0 (10A403)
Report Version: 104
// 3: Exception
Exception Type: 00000020
Exception Codes: 0x000000008badf00d
Highlighted Thread: 0
我希望得到相同的报告
答案 0 :(得分:9)
所以你想编写自己的崩溃记者,这样你就可以获得报告并对其进行符号化?
编写崩溃报告非常困难,请参阅开源库PLCrashReporter的开发人员的这两篇文章,以了解所涉及的内容:http://landonf.bikemonkey.org/code/objc/Reliable_Crash_Reporting.20110912.html和http://landonf.bikemonkey.org/code/crashreporting/Reliable_Crash_Reporting_1.1.20130119.html
简而言之:
您要询问的所有细节以及尚未被要求撰写此类记者的详细信息都需要写出超出答案的方式。
不要自己写,自己安全一些麻烦。那里有很多现成的解决方案。有些是开源的,如果它们对上述规则是安全的,可以进行验证,有些是封闭源,不能轻易验证(上面的文章详细介绍了其中一些)。
我不会就各种解决方案提出任何建议,因为我有偏见,因为我是一个开源和一个商业解决方案的开发人员。上面链接的文章确实分析了一些可用的解决方案。
所以这里有一些。
开源:
托管/商业解决方案:
肯定还有一些我忘了的东西。
答案 1 :(得分:1)
在Xcode目标中,
将'Debug information Formate'设置为DWARF。
生成调试符号:是
复制期间剥离调试符号:是
有关详情,请参阅图片。在最终上传中,请确保您恢复相同。这是为了测试。
答案 2 :(得分:1)