我刚刚将我的xcode升级到4.5版本,我尝试了三种表示崩溃日志的方法,但都没有成功。
首先,我从我的设备上获取了崩溃日志,然后将其导入到管理器的“设备日志”中,但我的应用程序的确切功能无法显示,内存地址仍然显示在结果中。
其次,我将'symbolicatecrash‘文件从'/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources’复制到‘/usr/ .app /bin’,并将.DSYM文件、.app文件和.crash文件放到一个文件夹中,运行命令:'symbolicatecrash Myapp.crash',结果仍然显示内存地址。
最后,我尝试了http://xperienced.com.pl/blog/symbolicate-ios-crash-report中的方法,但仍然不走运。
你能帮我解决这个问题吗?
提前感谢!
发布于 2012-09-24 13:12:11
我根据https://github.com/TheRealKerni/QuincyKit/issues/46中的讨论解决了这个问题。并从https://github.com/TheRealKerni/QuincyKit/blob/3c4a0b163ac71599a7795508fe6a91c1ced9daa6/server/local/symbolicatecrash.pl运行perl脚本以获得正确的结果。
@Kerni,谢谢你的脚本!
发布于 2012-12-21 18:58:21
如果您的应用程序名称中包含国际字符(例如"ø",“ç”,"ç"),则符号化将失败。符号化过程中的各种步骤弄乱了这些字符,导致了无效的符号化路径。
发布于 2013-10-12 09:01:17
你关掉聚光灯了吗?symbolicatecrash使用spotlight来查找二进制文件和dsym文件,所以如果你关闭了spotlight,那么它将无法找到它们。无论如何,下面是如何将十六进制堆栈跟踪地址转换为行号:
1找到.dSym文件,进入XCode->Organizer,单击archives,然后右键单击该归档,并将cd放入此目录(您只需将文件夹拖入shell窗口即可)。
2 cd进入dSYMs目录。
3运行dwarfdump命令,将十六进制地址转换为代码中的行号:
dwarfdump --arch armv7 myApp.dSYM --lookup 0xaabbccdd | grep 'Line table'https://stackoverflow.com/questions/12550545
复制相似问题