gpt4 book ai didi

ios - 符号化 iOS 崩溃转储 : symbols not found

转载 作者:可可西里 更新时间:2023-11-01 06:06:18 25 4
gpt4 key购买 nike

我正在尝试使用 Xamarin.iOS 为 iOS 应用程序构建故障转储进行符号化。我看到很多关于无法找到系统二进制图像符号的警告,例如 Foundation,而 symbolicate 的输出最终丢失了我需要的大部分信息。

我正在按照描述的过程 here .我已将 MyApp.app、MyApp.app.dSYM 和崩溃日志放入一个目录并运行 symbolicate -o crash.txt "crashreport.crash""MyApp.app"。输出 crash.txt 不包含符号,我在符号化控制台输出中看到很多错误。例如:

Finding Symbols:
.fetching symbol file for Foundation--[undef]
Searching []...-- NO MATCH
Searching in Spotlight for dsym with UUID of e596bd80bcc83f15aca36a7ef014f457
Running mdfind "com_apple_xcode_dsym_uuids == E596BD80-BCC8-3F15-ACA3-6A7EF014F457"
@dsym_paths = ( )
@exec_names = ( )
Did not find executable for dsym
## Warning: Can't find any unstripped binary that matches version of /System/Library/Frameworks/Foundation.framework/Foundation

完整输出位于 http://pastebin.com/W1KP1iTR

我已使用 dwarfdump 验证 MyApp.pSYM 中的 UUID 是否与故障转储中的相同。

我在 xcode 6.1.1 上使用 Xamarin studio 5.7.1。

谁能指出这里出了什么问题?

最佳答案

Apple 的 symbolicate 工具要求您在查询符号之前将所有可执行文件和 mach-o 二进制文件添加到 Spotlight 数据库。

这当然是一项繁琐的工作。我永远无法找到如何将其从索引中删除,也无法知道队列已完成的内容以及带有 UUID 的二进制文件已编入索引。

插件:我写了这个 symbolicate-pro 工具。

这是我为 TestFairy(公司)编写的程序。它称为 symbolicate-pro,它与 Apple 的 symbolicate 有一些关键区别:

  1. 它不需要任何索引。
  2. 您可以指定 iOS 符号所在的目录。
  3. 速度提高了 10 倍。
  4. 如果您为其他操作系统编译了 otool,它可以在 Mac 以外的其他平台上运行。

TestFairy 将其用于生产,并在 iOS 更改崩溃报告时进行更新。

您可以在 github 上找到它:https://github.com/testfairy/symbolicatecrash-pro

希望这有帮助;)

关于ios - 符号化 iOS 崩溃转储 : symbols not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29103941/

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