AndroidStudio Debug 调试技巧

AndroidStudio 你不知道的调试技巧
常见的单行断点调试这里不用多说,直接上那么你所不知道而且又特别有价值的调试技巧。

异常断点

在我们日常开发中或者线上出现 crash 都是特别常见的事情,我们都知道出现了 Exception,可是每次出现 crash 都要去查看日志具体出现什么异常,异常出现在哪一行,这是非常头疼的问题,因为打印出现的关键堆栈信心早已被一大堆的系统日志和 App 日志所淹没了。我们希望的是,只要程序一出现异常,就能够断下来。 AndroidStudio 提供了异常断点,可以在特定异常发生的那一刻,直接让整个程序停下来,断在异常的那一行代码。

操作流程是:进入Run->View BreakPoint或者用快捷键打开View BreakPoint,
在Java Exception BreakPoint 那一栏钩上Any Exception,Done。如图:

然后进入 debug 模式,一旦你的代码出现异常,立马保留现场,停在出现异常的代码行!!

当然你也可以指定特定的异常情况,例如 NullPointerException,IllegalArgumentException等。
操作流程是:在View BreakPoint,点击左上角的,选择Java Exception BreakPoint,弹出输入框后输入你指定的异常。如图:

条件断点

有时我们需要在一个列表的循环中断点,但是我们感兴趣的仅仅其中某一个元素,难道我们要人肉的去从0元素调试到我们感兴趣的那个元素吗,这是不需要的,因为有了条件断点。
操作流程是:在循环里面的断点出,同时双击鼠标左右键,出现一个小窗口,写上条件即可。

日志断点

我们在开发中时候经常会关键代码出打印日志,如果在调试期间某个关键点发现需要打印日志,这时重新写上打印日志代码,重新编译,大项目等待时间一般都要几分钟或者十几分钟,非常痛苦。这时我们可以用日志断点,也可以打印出日志。
操作流程:首先在输出的地方加上断点,同时双击鼠标左右键,点击 more(ctrl+shift+f8),然后把 suspend 属性设置为 false,然后在输入框里填上我们需要输出的日志信息,如图:

这样在debug模式下,每次代码执行到这个断点的位置,这个断点并不会停下来,而是输出我们输入的日志信息

域断点

有时我们遇到一些非常奇怪的bug,成员变量无缘无故不知道被哪一行代码修改了,特别时在多线程的情况下,更是难以分析情况,这是我们可以用域断点,它的作用是在某一个域被访问或者修改的时候让程序断下来。非常有助于我们分析这类问题。
操作流程:在对应的域上加上断点即可。

文章目录
  1. 1. 异常断点
  2. 2. 条件断点
  3. 3. 日志断点
  4. 4. 域断点
|