我想从Mac OS X崩溃日志中获取信息。 我按照Apple TN2123中的说明进行了Symbols and CrashReporter部分。
当符号未被剥离时,我设法得到了崩溃的行号。
不幸的是,一旦我删除了符号,无论STRIP_STYLE
标志的值如何,产品我都无法获得确切的行号。从我在TN中读到的内容来看,似乎是可能的。
有谁知道怎么做?
经过一番调查后,似乎是因为我使用的是静态库。 如果我在应用程序目标中编译的文件中发生崩溃,我可以获得行号。
但是,如果在来自静态库的文件中发生崩溃,我总是会收到“没有可用于地址的行号信息”消息。
如果我没有错,静态库不是与位置无关的代码,因此幻灯片为0(对吗?)。
我应该在静态库目标中使用某些特定标志吗?
提前致谢
凯文
答案 0 :(得分:1)
我在Xcode邮件列表上发布了这个问题,Apple的某个人给了我一些有用的信息。
这是his answer,有趣的部分是:
另外需要注意的是,“strip”工具从二进制文件中删除的是调试映射。因此,在构建过程中必须小心,在制作dSYM之前,不要剥离任何构建产品。如果你做得不对,那么你的可执行文件的某些部分将没有任何调试信息。
我试图不剥离静态库并且它可以解决问题。
凯文