使用atos和错误堆栈内存地址定位崩溃代码位置

来源:互联网 发布:java程序培训学校 编辑:程序博客网 时间:2024/06/07 08:53

1.从 appName.xcarchive 里提出 appName.dSYM 和 appName文件。放到一个目录下。

2.使用终端进入这个目录,使用 xcrun atos arm64 -o appName 0x0000000100098000  

arm64是架构 ,appName是app文件,0x0000000100098000是基地址

下面详细说明:

首先打开Xcode,点击最上方菜单栏的Window选项,选择Organizer,打开打包页面。

在打包页面选择崩溃的包,右键选择Show in Finder。(包一定要选对,不然内存地址定位会出错)

打开Finder页面后选择的包会显示高亮,右键,选择显示包内容。

点击显示包内容后会看到dSYNs文件夹,点进去会找到这个appName.dSYM文件,将它拷贝到一个文件里(最好是在桌面上单独创建一个crash文件夹)。然后就可以关掉这个窗口了。

点击桌面上你新建的crash文件夹,右键appName.dSYM,点击显示包内容,然后依次打开Contents-Resources-DWARF(这里就一个文件夹链),找到appName文件,将它也拷贝到crash文件夹中。

打开终端,cd  crash文件夹目录(直接把文件夹拖进终端,自动显示目录),然后输入xcrun atos arm64 -o appName crashAddress(这里代表崩溃的地址,别那么耿直的输入“crashAddress”。。)

其中arm64要根据在哪个型号的机器崩溃自行确定,可能是armv7,如果是模拟器的话用i386



2 0
原创粉丝点击