还记得刚参加工作的时候,那时不会debug调试,只会打log查看值。逻辑简单的还好,能看到的值,也能大概判断出代码走的位置。但是要测试复杂的逻辑和执行顺序,就显得心有余而力不足了。
后来在项目leader的指点下,逐渐学会了Android studio的调试功能,发现测bug高效太多了。
基本功能
- 左键设置断点(点击红点位置添加或取消断点)
-
开启调试
-
或者从运行进入调试模式,无需重新编译运行
-
查看调试面板
常用操作功能:
单步调试(step over)
按照代码顺序一行一行往下运行,是我们最常用的调试方法,比如想看到某段代码的各个变量的值,判断崩溃发生在某段代码的哪一行,就采用单步调试。遇到子方法也将方法当做一步执行,不会跳入到子方法里。走进方法里(step into)
当调试到addNum()方法时,点击step into,调试跳入到addNum()方法里面调试。
强制进入方法(Force step into)
在调试时能进入任何方法,包括源码的方法。跳出方法(step out)
当在某个方法里时,点击step out按钮,会跳出该方法在该方法下一行执行。下个断点我们见(run to Cursor)
会很快执行到下一个断点的位置,而且可以进入任何调用的方法-
搜索变量值(Evaluate Express)
更多功能
跳下一个断点(Resume Program)
直接跳到下一个执行的断点退出App结束调试(stop app)
-
查看断点(View BreakPoints)
可以查看到该类所有断点和相应代码。
-
观察某个变量
当程序较为复杂,变量存在较多时,可以通过观察指定的变量来方便我们调试。在Variables面板下,点击下面"+"号,添加观察变量再回车。
-
设置变量值
当程序过程较多,循环较多,而我只想要调试这一小段代码时,可以给某个变量赋值直接进行调试。
右键某变量set value设置想要的值。