问题标签 [plcrashreporter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1368 浏览

ios - 在静态库中引用 PLCrashReporter 1.2 beta 2 并在客户端中构建时未定义的符号

我创建了一个静态库并添加了一个聚合目标来构建一个 .framework 静态框架,以便我可以发布给用户。

我必须在这个静态库中使用 PLCrashReporter,所以我下载了最新版本 1.2 beta 2,因为添加了 ARM64 支持并将 .xcodeproj 文件添加到我的静态库中的组中。在静态库目标的构建设置中添加了用户标头搜索路径,在构建阶段添加了目标依赖项中的 CrashReporter-iOS-Device (CrashReporter) 静态库和 Link Binary With Libraries 添加了 libCrashReporter-iphoneos.a 静态库。

我的静态库可以毫无问题地成功构建所有目标,但是在将我的 .xcodeproj 项目添加为 UI 客户端测试项目中的依赖项甚至直接添加我生成的 .framework 时,模拟器的构建会中断。

我可以在设备上运行它并正常工作,但在模拟器中使用它也很重要。

如果我点击构建,我会收到以下错误。

我在这里肯定想念一些东西!

先感谢您。

0 投票
1 回答
765 浏览

ios - 为所有架构构建具有 PLCrashReporter 依赖项目的 iOS .framework

我创建了一个静态库并将另一个 xcodeproj (PLCrashReporter) 文件作为链接添加到项目中,包括用户搜索头文件路径以查找头文件,然后按照此框架脚本生成 .framework。

但是,当我获得生成的 .framework 文件并将其添加到示例测试客户端项目中时,我得到“架构 arm64 的未定义符号”。

错误是我自己的项目文件不在依赖的 PLCrashReporter 文件中。虽然其他时候我没有规则来处理架构 XXX 的文件“PLCrasgReporter 文件”。

在您定义哪些标头将在您的框架中公开的步骤中,没有 PLCrashReporter 的标头,因为我已将其添加为我的项目的链接,并将目标依赖项添加到静态库目标并将二进制文件与项目链接到PLCrashReporter。

为具有依赖项目文件的所有架构构建框架的正确方法是什么?

我使用最新的 PLCrashReporter 1.2 rc2。我已将所有目标的构建活动架构设置为“否”。在我的静态库中添加了 -all_load 其他链接器标志。在上面的链接中找到框架脚本的所有说明。

0 投票
0 回答
243 浏览

ios - PLCrashReporter 源代码迁移错误 'Case value is not a constant expression'

我想将 PLCrashReporter 集成到我的静态库项目中,并生成一个嵌入它的 .framework。

到目前为止,我遵循相同的层次结构从他们的源代码 XCode 项目中导入代码。将文件拖放到我的 XCode 项目中。很多文件需要链接器标志,因为它们不使用 ARC,但我是。

不,我遇到了一个我不太理解的问题,可能是因为我在使用 Objective-C 时的低级经验有限。

因此,在 PLCrashSignalHandler.mm 文件中有一个带有两种情况的开关,并且都停止编译并出现错误“情况值不是常量表达式”。

case ((uintptr_t) SIG_IGN):case ((uintptr_t) SIG_DFL):停止生成上述错误。

他们的源代码正在正确构建项目,所以我很好奇我在这里错过了什么。

谢谢。

0 投票
1 回答
285 浏览

ios - 如何对 PLCrashReporter 框架的使用进行单元测试

我正在使用PLCrashReporter framework来检测崩溃并将其发送到我们的后端。在那里,我将PLCrashReport数据结构转换为JSON object. 现在我想知道如何对这些功能进行单元测试。

有没有办法PLCrashReport从崩溃文件或源创建一个?

谢谢你。

0 投票
1 回答
220 浏览

php - QuincyKit 未将崩溃报告保存到数据库

我已经在客户端和服务器上设置了 quincy。在我使用的客户端上:

在客户端上,我使用“test.php”(回显全部通过)和 crash_v300(回显“-3”来验证它是否正常工作。

但是,当应用程序崩溃并且有提示提示我是否要发送崩溃报告时,我会说“是”。它不会将崩溃报告保存在我的数据库中。有任何想法吗?

0 投票
0 回答
416 浏览

objective-c - 在 swift 中将 PLCrashReporterCallbacks 分配给崩溃报告器

所以我试图在应用程序崩溃时快速分配回调函数。这或多或少是如何在 Obj-C 代码中完成的。

有人知道应该如何实现和分配 myCallback 吗?

0 投票
1 回答
739 浏览

ios - ios中的CrashReporter符号化客户端

我是使用 PLCrashReport 的新手,我想做符号化客户端。我知道有很多缺点,但我想尝试一下,请你帮帮我。

我使用了 CrashReporter 的最后一个版本,这就是我在 appDelegate 类中引用此示例http://plcrashreporter.googlecode.com/svn/tags/plcrashreporter-1.1-rc1/Documentation/API/example_usage_iphone.html所做的。

这是一个在这里谈论这个的话题 PLCrashReporter - How to symbolicate crash data in-process?

图书馆链接: https ://www.plcrashreporter.org/ 。

0 投票
2 回答
4647 浏览

ios - Atos 没有正确地表示系统框架/库

问题是,当符号化 PLCrashReporter 报告的堆栈跟踪地址时,不会返回实际的系统框架/库符号行。我的申请行虽然显示了正确的违规行符号。

一些配置。我在我的 OSX 10.9.5 上安装了 Xcode 5.1.1 和 Xcode 6.0.1。

使用 Xcode 5.1.1 并检查设备日志时,我可以看到崩溃,尽管崩溃报告中不会出现任何符号。

使用 Xcode 6.0.1 使我的应用程序崩溃并检查设备日志,我可以看到正确符号化的报告。

Atos 在任何情况下都不会返回正确的 Apple 系统框架/库符号行。它只是返回垃圾,与相应的框架/库无关的类。请参阅下面的示例。

详细说明我使用 PLCrashReporter 向我报告的崩溃堆栈跟踪符号化并与设备日志符号化报告进行比较。

这是使用未符号化的 PLCrashReporter 报告的堆栈跟踪:

这是上面来自 PLCrashReported 的堆栈跟踪,使用“xcrun atos”进行符号化:

这是来自设备日志的上述完全相同的崩溃的堆栈跟踪符号:

您可以看到两个符号化的堆栈跟踪,第一个来自 PLCrashReporter 堆栈跟踪,第二个来自 Xcode 设备日志。在这一点上,我想说的是,我不认为是地址有问题,而是 atos 发生了更多事情。Xcode 是否使用 symbolicatecrash 工具来符号化 Apple 报告?

atos 命令:xcrun atos -arch arm64 -o MyNewPlugin.app.dSYM/Contents/Resources/DWARF/MyNewPlugin -l 0x197268000 0x000000019726ce5c将导致_mh_execute_header (in MyNewPlugin) + 20060完全错误的结果,它应该返回类似于设备日志报告的内容_platform_memmove + 188

另一个证明第3行问题的atos示例 xcrun atos -arch arm64 -o MyNewPlugin.app.dSYM/Contents/Resources/DWARF/MyNewPlugin -l 0x18d5b0000 0x000000018d5f90b0,应该返回,UIKit 0x000000018d5f90ac -[UIApplication sendAction:to:from:forEvent:] + 96而不是返回,UIKit __30-[RequestWorker logEvent:]_block_invoke (in MyNewPlugin) + 232这与UIKit无关,这是我使用的内部类。

这就是我使用 PLCrashReporter 创建堆栈跟踪行的方式。

编辑: 在终端中使用 symbolicatecrash 来获取未符号化的苹果崩溃报告是符号化所有系统程序集,而不是应用程序行!!!

0 投票
1 回答
1006 浏览

ios - 在 iOS 上捕获崩溃日志

主要思想是捕获崩溃日志(或错误原因)并将其发送到服务器。我知道 iTunes 确实会记录来自用户设备的崩溃,但我需要找到是否有办法获取它并将其存储在我们的服务器上。

我正在尝试“PlCrashReporter”并且我完成了实现它(正如他们在此链接https://www.plcrashreporter.org/documentation/api/v1.0/example_usage_iphone.html上所做的那样)。

问题

发生崩溃时不会调用函数applicationDidFinishLaunching 。

我在正确的轨道上吗?是否有在AppDelegate崩溃时调用的特定函数?

提前致谢

编辑

我也尝试过以下问题的解决方案:

iOS 崩溃日志捕获、调试信息.. 捕获并通过电子邮件发送给开发团队

它实际上可以工作,但是没有捕获到一些由 Swift 而不是 Objective-C 引起的错误(例如在展开可选值时出错)。

有什么建议么?

0 投票
0 回答
473 浏览

ios - PlCrashReporter 崩溃报告未显示 iOS 的回溯

我已将PLCrashReporter 框架集成到我的 iOS 应用程序中,

请。参考:https ://www.plcrashreporter.org/

http://rajatwork.com/?p=113

这完全正常。它生成崩溃日志,将其转换为 protobuff 格式并以文本文件格式(带有 protobuff 数据)发送电子邮件。这里的问题是,解码的数据与设备崩溃日志不匹配,即它不显示回溯(存在于设备日志中)。

下面是由 PLCrashReport 中不存在的 Last Exception Backtrace 组成的设备崩溃日志。

那么有没有办法使用 PLCrashReport 添加“BackTrace”?