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