iOS使用dSYM文件和堆栈信息定位bug

一、首先要找到匹配的.dSYM文件。


iOS使用dSYM文件和堆栈信息定位bug_第1张图片
Xcode的工程目录
iOS使用dSYM文件和堆栈信息定位bug_第2张图片
.dSYM文件所在目录

工程每次Build都会更新.dSYM文件,所以需要保存.dSYM文件。

在Terminal中进入.dSYM文件的所在目录下,执行:

dwarfdump --uuid appName.app.dSYM

结果是:

UUID: 3C13BB78-4599-356B-8041-3EA731094CDD (armv7) appName.app.dSYM/Contents/Resources/DWARF/cheyipai
UUID: 731A43CF-C7F4-3590-9690-9D6A9C0B7934 (arm64) appName.app.dSYM/Contents/Resources/DWARF/cheyipai

二、如果程序基地址为0x0039488b,方法的堆栈地址为0x00078000,那么执行:

atos -arch armv7 -o appName.app.dSYM/Contents/Resources/DWARF/appName -l 0x00078000 0x0039488b

(PS:如果是arm64就把armv7 换为arm64。)

结果是:

-[PagedFlowView dequeueReusableCell] (in cheyipai) (PagedFlowView.m:370)

参考文章
符号化iOS崩溃报告 http://www.jianshu.com/p/3be296cacb47

你可能感兴趣的:(iOS使用dSYM文件和堆栈信息定位bug)