常见的单行断点调试这里不用说,直接上你所不知道而且又特只是因为有价值的调试技巧。
异常断点
在我们日常开发中或者线上出现crash都是特别常见的事情,我们都知道出现Excption,可是每次出现crash都要去看日志具体出现什么异常,异常出现在哪一行,这是非常头疼的问题,因为打印出现的关键堆栈信息早已被一大堆的系诶日志和APP日志所淹没了。我们犹希望的是,只要程序一出现异常,就能够断下来,Android Studio提供了异常断点,可以在特定发生的那一刻,直接让整个程序停下来,断在异常的那一代码。
操作流程如下图
然后进入debug模式,一旦你的代码出现异常,立马保留现场,停在出现异常的代码行.
当然你也可以指定特定的异常情况,例如NullPointerExecption IllegalArgumentException等。
操作流程如下图
2.条件断点
有时我们需要在一个列表的循环中断点,但是我们感兴趣的仅仅其中某一个元素,难道我们要人肉的去从0元素调到我们感兴趣的那个元素吗,这是不需要的,国为有条件断点。
操作流程如下图 先左键点一下,出现红点后 右键就可以设置了,然后进入debug模式,直接跳到输入条件的地方。
注意事项:
1.任何种类的断点都可以添加条件,不要被我的截图误导,以为只有行断点可以添加断点.
2.添加条件(Condition)的时候,要保证条件的返回值是boolean值,例如”i =36”一定要写为”i==36”;
3.添加条件的时候,要保证条件中的变量到断点处已经被定义,否则条件表达式是不成立的.(PS:这里告诉给小伙伴们一个避免这个问题的小方法,就是当你发现条件中的变量颜色变成显眼的红色时,一定要检查一下,变红色肯定是因为这个变量不存在.)