异常跟踪
两种基本方法
- 打LOG
- 设置断点调试
打log
- 在logcat filter中能通过关键字过滤相关log,如搜索fatal exception 就可以定位到崩溃异常
- 调试时可以使用String.formart对输出进行格式化
- 即使不连接电脑,Android设备会自动保存近10分钟的日志
设置断点调试
设置断点后,程序会在停止在断点前一行。
Debug'app' 按钮是将项目重新编译后进入调试,Attach debugger 是把直接运行调试,项目不需要重编,由于调试模式比较消耗性能,可以在正常模式下将前缀步骤跑完,然后在适当的时机attach debugger,该方式比较灵活,故调试程序一般使用后者。
停止调试可以通过店家停止按钮停止程序,或者点击关闭按钮断开调试器。
还可以设置异常断点,通过run-view breakpoints,添加断点,并指定要捕获的异常种类,之后在调试程序时debugger会自动检测出异常并显示在面板上,但异常断点不一定可靠,因为可能其他模块,如系统框架出现的同类异常也会触发断点。所以该功能要慎用,此外,多余断点需要及时清除。
Android Lint是Android应用代码的静态分析器,能够检查编译器无法发现的问题,主动使用通过Analyze-Inspect Code
注意:调试状态下程序的效率会大大降低R文件问题
针对资源编译错误的问题,一般有如下方式处理
1.重新检查XML文件——其校验功能有时不可靠
2.clean project,项目会重编,建议经常操作
3.同步gradle,Sync Project With Gradle Files,studio会使用正确的配置重编项目
4.使用Android Lint查看项目信息
参考文章
Android Studio 中的调试技巧
作者:zhuanghongji