iOS利用堆栈地址定位崩溃位置

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

你可能感兴趣的:(iOS利用堆栈地址定位崩溃位置)