Xcode 从Mac OS X crashlog中提取信息

Xcode 从Mac OS X crashlog中提取信息,xcode,macos,crash-reports,Xcode,Macos,Crash Reports,我想从MacOSX崩溃日志中获取信息。 我按照苹果TN2123第节中的说明进行操作 当符号没有被剥离时,我设法得到了碰撞的行号 不幸的是,一旦我去除了符号,无论STRIP\u STYLE标志的值是多少,我都无法获得确切的行号。从我在TN上看到的情况来看,这似乎是可能的 有人知道怎么做吗 编辑 经过进一步的调查,这似乎是因为我使用了一个静态库。 如果在应用程序目标编译的文件中发生崩溃,我可以得到行号 但是,如果崩溃发生在来自静态库的文件中,我总是会收到“地址没有可用的行号信息”消息 如果我没有错的

我想从MacOSX崩溃日志中获取信息。 我按照苹果TN2123第节中的说明进行操作

当符号没有被剥离时,我设法得到了碰撞的行号

不幸的是,一旦我去除了符号,无论
STRIP\u STYLE
标志的值是多少,我都无法获得确切的行号。从我在TN上看到的情况来看,这似乎是可能的

有人知道怎么做吗

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

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

如果我没有错的话,静态库不是位置独立的代码,所以幻灯片是0(对吗?)

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



提前谢谢


凯文

我在Xcode邮件列表上发布了这个问题,苹果公司的人给了我一些有用的信息

这里是有趣的部分:

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

我试图不剥离静态库,但它成功了


凯文

我在Xcode邮件列表上发布了这个问题,苹果公司的人给了我一些有用的信息

这里是有趣的部分:

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

我试图不剥离静态库,但它成功了


Kevin

您使用的是什么版本的Xcode?@trojanfoe:Xcode 4.6.3您是否有
.dSYM
文件的副本(根据@ipmcc的答案-由于某种原因被删除)?@trojanfoe:my dsym文件与.app在同一目录下,您是否尝试使用
atos
命令获取您的行号?您使用的是什么版本的Xcode?@trojanfoe:Xcode 4.6.3您是否有
.dsym
文件的副本(根据@ipmcc的答案,该文件因某种原因被删除)?@trojanfoe:my dsym文件与.app位于同一目录中,您是否尝试使用
atos
命令获取行号?