iOS高级iOS学习笔记程序员

iOS - 知道app内存地址,如何定位到代码的位置么

2015-08-31  本文已影响1909人  WhoJun

大家都用友盟,shareSDK,蒲公英等工具记录 crash 信息。

有些crash是一看就知道错误位置,也是有提示的。

有些实在是看不懂是什么意思。

以下用的是堆栈还原。

例如:

27 xxx 0x000000010013265c 0x10007c000 747100

这什么玩意?你看得懂?

那么苹果他只带的查看工具,就是用命令行查看地址位置。

获取自己发布的.app文件。这个不难吧。

把他放到桌面或者你比较好读取的地方。我喜欢放在桌面比较方便。

在10.10.x苹果把symbolicate集成到命令行里面去了。

把命令行的目录cd到.app文件的根目录去。

最后一步确认 .app的版本是你crash出来的版本。如果不是是查不了的。

如果不确定可以根据.app的uuid来确认版本是否匹配。

在命令行输入:

atos -arch arm64 -o <appName>.app/<appName> <地址>

提示如下:

ljjun$ atos -arch arm64 -o xxx.app/xxx 0x000000010013265c 

-[WJDefine storeInDictionary:] (in xxx) (WJDefine.m:317)

还有这些都是辅助效果,有些蛋疼的崩溃信息,靠这些还是不能测出来的。这样只是让你更可读。

还是要靠自己的分析。

最近在用腾讯出的 Bugly 分析,里面有详细介绍crash 捕获解析的完整过程视频,有兴趣可以看看。

上一篇下一篇

猜你喜欢

热点阅读