真机崩溃日志处理 定位行
来源:互联网 发布:淘宝数据魔方架构 编辑:程序博客网 时间:2024/06/13 21:22
首先,我们打开崩溃日志 操作步骤如下
崩溃日志如下:
下面是重点需要关注的地方了
然后你要使用终端,cd到自己APP包的目录下面,如图所示:
然后记住如下的命令行: xcrun atos -o 驾值网.app/驾值网 -arch armv7 -l 0xd1000 0x0026c02c 如下图所示: armv7 :有可能是 arm64 或者是 armv7s 要看你项目的实际情况, 驾值网.app/驾值网: 需要换上自己项目的名称 0xd1000 0x0026c02c:如下图,需要倒置这两个内存地址
至此,项目就能找到相应的错误地址了:如下! +[AFURLConnectionOperation networkRequestThread] (in ) (AFURLConnectionOperation.m:173)
就能找到相应文件的相应行!
或者使用
用atos命令来符号化某个特定模块加载地址
命令是:
- atos [-o AppName.app/AppName] [-l loadAddress] [-arch architecture]
亲测,下面3种都可以:
- xcrun atos -o appName.app.dSYM/Contents/Resources/DWARF/appName -l 0x4000 -arch armv7
- xcrun atos -o appName.app.dSYM/Contents/Resources/DWARF/appName -arch armv7
- xcrun atos -o appName.app/appName -arch armv7
(注:这3行选任意一行执行都可以达到目的,其中0x4000是模块的加载地址,从上面的章节可以找到如何得到这个地址。)
文章开头提到crash文件中有如下两行,
- * 3 appName 0x000f462a 0x4000 + 984618
- * 4 appName **0x00352aee** 0x4000 + 3468014
在执行了上面的:
- xcrun atos -o appName.app.dSYM/Contents/Resources/DWARF/appName -l 0x4000 -arch armv7
之后,输入如下地址:
- 0x00352aee
(crash文件中的第4行:4 appName **0x00352aee** 0x4000 + 3468014)
可以得到结果:
- -[UIScrollView(UITouch) touchesEnded:withEvent:] (in appName) (UIScrollView+UITouch.h:26)
这样就找到了应用种到底是哪个模块导致的crash问题。
0 0
- 真机崩溃日志处理 定位行
- iOS Bugly定位收集真机崩溃日志信息
- iOS中使用Bugly定位收集真机崩溃日志信息
- Android 崩溃日志处理
- 崩溃日志解析命令:(处理崩溃)
- iOS崩溃日志的处理
- 关于崩溃日志的处理
- iOS_崩溃日志分析(定位崩溃代码)
- iOS开发:利用友盟umcrashtool定位崩溃日志
- 定位崩溃
- Crash log debug 崩溃日志处理 (日志符号化)
- 打开真机日志
- Android通过崩溃日志中控件id定位崩溃位置的方法
- iOS真机调试一天后崩溃
- 崩溃日志
- 崩溃日志
- 崩溃日志
- 崩溃日志
- Ubuntu下安装opencv 2.4.11
- [python] Layer2攻击
- 【读书笔记】《Android多媒体开发高级编程》(二)
- ROS的geometry_msgs/PoseWithCovarianceStamped Message 消息格式
- 有一篇文章,共有3行文字,每行有80个字符,请求帮忙,谢谢
- 真机崩溃日志处理 定位行
- C++ 用libcurl库进行http通讯网络编程
- juqery cookie操作
- Objective-C Doxyfile
- myeclipse安装svn插件的多种方式
- linux shell 中文件编码查看及转换方法
- Spring AOP编程(XML实现)
- java继承
- ViewStub用法