gpt4 book ai didi

iphone - 如何使用 Apple 提供的崩溃报告等代码生成崩溃报告

转载 作者:行者123 更新时间:2023-11-28 18:00:21 25 4
gpt4 key购买 nike

我想为 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

我想得到同样的报告

最佳答案

所以您想编写自己的崩溃报告器以便获取报告并用符号表示它们?

写崩溃报告非常非常辛苦,请看开源库开发者的这两篇文章PLCrashReporter了解涉及的内容:http://landonf.bikemonkey.org/code/objc/Reliable_Crash_Reporting.20110912.htmlhttp://landonf.bikemonkey.org/code/crashreporting/Reliable_Crash_Reporting_1.1.20130119.html

简而言之:

  • 所有代码都必须是异步安全的。这意味着您可以使用任何 Objective-C 代码。大多数 C 方法也不是异步安全的。
  • 一旦发生崩溃,您(基本上)可以不分配新内存。

您询问的所有细节以及尚未被要求写给此类记者的所有细节都需要写出比答案所能容纳的更多的方式。

只是不要自己写,避免给自己带来麻烦。那里有很多现成的解决方案。有些是开源的,如果它们对上述规则是安全的,则可以进行验证,有些是闭源的,不容易验证(上面的文章确实对其中一些进行了详细介绍)。

我不会对各种解决方案提出任何建议,因为我有偏见,因为我是一个开源解决方案和一个商业解决方案的开发人员。上面链接的文章确实分析了一些可用的解决方案。

所以这里有一些。

开源:

  • > PLCrashReporter :自 2009 年以来在数以千计的应用程序中使用。安全、可靠地创建可以符号化的标准格式崩溃报告。
  • > KSCrash : 很新。创建标准格式的崩溃报告。可以连接到不同的服务器解决方案。
  • > QuincyKit :基于 PLCrashReporter 的客户端 SDK 和基于 PHP 的服务器组件。使集成 PLCrashReporter 变得容易,服务器组件收集报告并在它们被符号化后对其进行分组。符号化可以使用您自己的 Mac 自动执行实际的符号化。 (免责声明:我是这个的开发者)

托管/商业解决方案:

  • > Bugsense :免费和付费计划。在后台使用 PLCrashReporter。 SDK 的其余部分似乎是封闭源代码。服务器端符号化。
  • > BugSnag :免费和付费计划。开源开发工具包。在后台使用 KSCrash。
  • > Crashlytics : 自由的。闭源。在引擎盖下使用了 PLCrashReporter,现在使用他们自己的实现。服务器端符号化。
  • > Crittercism :免费和付费计划。在后台使用 PLCrashReporter。 SDK 的其余部分似乎是封闭源代码。服务器端符号化。
  • > HockeyApp :付费计划,1 个月的试用期。在后台使用 PLCrashReporter,所有 SDK 都是开源的。创建标准格式的崩溃报告。服务器端符号。 (免责声明:我是联合创始人和开发者之一)
  • > Sentry : 付费、全新、开源(SDK 和服务器)。在后台使用 KSCrash。
  • > Testflight : 免费,闭源。服务器端符号化。

肯定还有一些我忘记了。

关于iphone - 如何使用 Apple 提供的崩溃报告等代码生成崩溃报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15521494/

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