iOS使用dSYM文件和堆栈信息定位bug
2016-05-04 本文已影响3922人
s2mh
一、首先要找到匹配的.dSYM文件。
Xcode的工程目录 .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)