从Mac OS X crashlog中提取信息

时间:2013-09-24 12:14:11

标签: xcode macos crash-reports

我想从Mac OS X崩溃日志中获取信息。 我按照Apple TN2123中的说明进行了Symbols and CrashReporter部分。

当符号未被剥离时,我设法得到了崩溃的行号。

不幸的是,一旦我删除了符号,无论STRIP_STYLE标志的值如何,产品我都无法获得确切的行号。从我在TN中读到的内容来看,似乎是可能的。

有谁知道怎么做?

修改

经过一番调查后,似乎是因为我使用的是静态库。 如果我在应用程序目标中编译的文件中发生崩溃,我可以获得行号。

但是,如果在来自静态库的文件中发生崩溃,我总是会收到“没有可用于地址的行号信息”消息。

如果我没有错,静态库不是与位置无关的代码,因此幻灯片为0(对吗?)。

我应该在静态库目标中使用某些特定标志吗?



提前致谢

凯文

1 个答案:

答案 0 :(得分:1)

我在Xcode邮件列表上发布了这个问题,Apple的某个人给了我一些有用的信息。

这是his answer,有趣的部分是:

另外需要注意的是,“strip”工具从二进制文件中删除的是调试映射。因此,在构建过程中必须小心,在制作dSYM之前,不要剥离任何构建产品。如果你做得不对,那么你的可执行文件的某些部分将没有任何调试信息。

我试图不剥离静态库并且它可以解决问题。

凯文