Android Studio Debug 的 9 个小技巧
Disable until breakpoint hit
Disable until breakpoint hit
在左侧选择当前断点后,在右边单击【Disable until breakpoint hit
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://user-gold-cdn.xit **《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》**无偿开源 徽信搜索公众号【编程进阶路
3. 挂起线程
外部链接中的静态图片无法正常加载,请参考该页面中的说明获取帮助信息
All、Thread
All、Thread
单击任意一个断点时会显示 Suspend 选项【All、Thread
另一个打开关闭断点的快捷键告诉我:Windows用户按住Alt键单击 ,Mac用户按住Option键单击。
4. 动态打印
详细很多人在调试程序时都会在需要调试的地方习惯性地插入print语句以帮助排查错误。这里提供了一种便捷且高效的方法它不会对代码造成污染同时能够随时输出任意所需的信息。
由于外链图片转存失败,源站可能存在防盗链机制,建议您将该图片保存后再进行上传操作以避免异常情况的发生
Evaluate and log
Evaluate and log
Evaluate and log
5. 断点分组
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lyyNZOuQ-1651117135410)(https://user-gold-cdn.xitu.io/2019/11/4/16e3416a300a8c71?imageView2/0/w/1280/h/960/ignore-error/1)]
当我们遇到一个问题时,在解决问题之后往往忘记取消之前设置的一些调试中断点了;这会导致在后续的调试过程中出现意外情况;为了改善这种情况我们可以采取以下措施:当我们进行debug操作到达某个特定的调试界面时:右键点击更多选项选择所有相关的问题并将其归入同一Group中;这样就能实现统一关闭以及批量清除功能
6. 断点上一步
对此感到非常遗憾,在调试程序时经常因为快速点击下一项而疏忽一些关键错误所在的位置;不得不重新运行程序并重新调试才能发现问题。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c4zVzIxY-1651117135410)(https://user-gold-cdn.xitu.io/2019/11/4/16e3418787a95e8d?imageView2/0/w/1280/h/960/ignore-error/1)]
Drop frame
Drop frame
Drop frame
7. 观察对象
外部链接中的图片无法正常存取,请注意检查网络连接并确保服务器端未启用防采集机制后再进行操作
当我们进行调试时可以从调试窗口中详细查看当前作用域内的具体对象及其属性这时我们有时会关注不同页面上是否存在相同的对象以往我的方法较为简单直接就是将目标对象的唯一标识符(ID)记录在一个小本子上随后切换至另一窗口对比查看这个ID值以确认目标的一致性这种操作虽然效率不高但也足够实用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jafa5A9e-1651117135412)(https://user-gold-cdn.xitu.io/2019/11/4/16e3419c98a17f31?imageView2/0/w/1280/h/960/ignore-error/1)]
Mark Object
Mark Object
您可以通过对象右键操作选择【Mark Object
顺便一提,在任意一段代码中(尤其是对我而言),单击行号可以直接跳转至目标行并暂停执行。这个发现让我感到意外的是...原来我一直误用了Android Studio的功能。
外部链路中的图片无法正常存储,请检查该源站是否存在防盗链设置,并考虑将图片保存后再上传至该平台以避免重复上传问题
Evaluate expression
Evaluate expression
在调试过程中,默认情况下我们可以通过打开【Evaluate expression
该链接无法正常加载到目标站点,请您考虑将图片保存后直接上传至目标平台
实在说来真的很方便呢!过去碰到类似情况时我的解决办法一直是:print 😂。不过话说回来,并不是仅仅用来查看数据哦!我们甚至可以用任何代码来查看所需的数值。就像下图展示的那样。
8. 增量更新
由于该外链图片存在加载失败现象,请您尝试将图片保存后直接上传至平台
尝试操作后发现这两款功能键确实非常实用,在实际使用中相较于全面重新运行应用而言要快不少 使用起来极为便捷
9. 错误栈分析
通常我们在App中会集成一些在线bug反馈的SDK例如Bugly通过Bugly我们能够获得崩溃导致的异常栈信息类似下图这样
Analyze
阅读原文
