8

我无法使用 XCode 4.6 表示来自测试人员和用户的 OS X(不是 iOS)崩溃日志。无法将崩溃日志拖入管理器,并且管理器不会显示 ~/Library/Logs/DiagnosticReports/ 中的任何崩溃日志,尽管该目录中有一些日志。

Didier Malenfant 评论了以前的线程 XCode not importing OS X crash log that

底线很简单。截至目前(Xcode 4.6),OS X 崩溃日志无法导入 Xcode。只有 iOS 的。

这是目前的状况吗?如果没有有效的方法来解释崩溃报告,很难想象组织能够支持新的 OS X 软件。

4

4 回答 4

6

如果您有堆栈跟踪;例如:

0   com.your_app        0x00000001016191e0 0x1015fb000 + 123360
1   com.your_app        0x000000010161509d 0x1015fb000 + 106653
2   com.your_app        0x00000001016147b9 0x1015fb000 + 104377
3   com.your_app        0x000000010161df81 0x1015fb000 + 143233`

尝试以下操作:

atos -o YOUR_APP.app.dSYM/Contents/Resources/DWARF/YOUR_APP -l 0x1015fb000 0x00000001016191e0 0x000000010161509d 0x00000001016147b9 0x000000010161df81`
于 2014-04-19T19:13:15.353 回答
3

您可以使用 GDB 进行符号化,将发布版本和 .dSYM 文件放在打开终端的同一目录中

$ cd directory
$ gdb MyApp.app
(gdb) info line *0x00085f3c  

或者您可以按照trojanfoe的建议使用atos

$cd directory
$atos -o MyApp.app/Contents/MacOS/MyApp
info 0x00085f3c

或者

$ cd directory
$ lldb MyApp.app
(lldb) image lookup -v --address 0x1ec4
于 2013-08-21T09:44:41.177 回答
2

我们的应用程序也遇到了同样的问题,我用atos.

我现在调整了 Apple 的象征性脚本,使其能够与 Mac 应用程序和来自 PLCrashReporter 的崩溃报告一起使用。

https://github.com/lksnmnn/Symbolicate-CrashReports

如何使用它:

确保您的计算机上有以下所有文件:

  1. 崩溃报告:report.crash
  2. 应用程序的 dSYM 文件:MyApp.dSYM
  3. 您的应用程序的可执行文件/应用程序文件夹:MyApp.app
  4. 改进的符号化脚本:symbolicatecrash

现在进入命令行(终端)并执行以下操作:

# set the developer directory
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

# Now run the script
/Path/To/symbolicatecrash /Path/To/report.crash > /Path/To/readable_report.crash

# Use -v for verbose logging.

该脚本将找到您的 dSYM 和您的可执行文件,并尽可能多地进行符号化。您现在将在指定的输出文件readable_report.crash中找到您的符号化报告

构建设置:

对于正确的报告和符号,请将您的构建设置设置为:

Strip Debug Symbols During Copy: Yes
Strip Style: All Symbols
Strip Linked Product: Yes
于 2016-02-26T11:59:50.527 回答
0

在我有 dsym 和崩溃报告文件的情况下,我使用了MacSymbolicatorXsymbolicate 。尽管 Xcode 内置的崩溃报告支持也变得更好,至少对于在 App Store 中出售的应用程序来说,他们只是为了简单的需求才完成这项工作。

于 2018-12-08T22:18:06.587 回答