使用debug的必要性:在实际开发中,最好是不要使用打印日志的方式调式程序,因为日志控制不好可能将一些重要的数据泄露,比如密码;还有就是使用打印日志的方式调试程序可能产生一些意想不到的BUG。
所以开发中建议使用debug方式进行调试。
1、设置断点
2、开启断点调试
如上图,点击红色箭头指向的“虫子”按钮,开始断点调试。
开启成功,进入到调试界面如下:
黄色箭头2(下方的那个箭头)所在的区域是方法调用栈区(显示出来的方法表示都是已经执行过的方法),最上面的方法表示当前停留的方法(比如现在最上面的方法,就是箭头1所停留的方法)。越靠下的方法表示调用的时间较早,最上面的表示正在调用的方法。
黄色箭头2只想的红色方块如果是亮的,表示debug调试正在执行。
3、单步执行(遇到方法不会进入方法内部)
点击按钮
,或者F8.
4、进入方法体内
点击按钮
,或者点击F7.
其中红色按钮表示强制进入。
5、跳出方法
点击按钮
,表示跳出方法,执行方法的下一步代码。
6、重新执行此方法
点击按钮
,表示重新执行此方法,回到方法的调用处,一切变量将恢复到执行此方法前。
7、跳到下一个断点
点击按钮
或者F9,表示直接跳到下一个断点执行,如果没有下一个断点,则执行结束。
8、定位到正在执行的行。
点击按钮
,会定位到正在执行的行。
9、设置断点条件
在断点
上点击右键,设置断点条件:
如上图,设置condition:“lisi”.equals(param)表示只有当param值为lisi的时候,才停留在此断点处。
快捷键:
alt+f8 debug时选中查看值
f8相当于eclipse的f6跳到下一步
shift+f8相当于eclipse的f8跳到下一个断点,也相当于eclipse的f7跳出函数
f7相当于eclipse的f5就是进入到代码
alt+shift+f7这个是强制进入代码
ctrl+shift+f9 debug运行java类
ctrl+shift+f10正常运行java类
所以开发中建议使用debug方式进行调试。
1、设置断点
![](http://www.androidxx.cn/data/attachment/forum/201604/07/214706nfbexi795pbtkki7.png)
2、开启断点调试
![](http://www.androidxx.cn/data/attachment/forum/201604/07/215102hiukpui5l5ieeuil.png)
如上图,点击红色箭头指向的“虫子”按钮,开始断点调试。
开启成功,进入到调试界面如下:
![](http://www.androidxx.cn/data/attachment/forum/201604/07/220000tdiz3miiewok6nkd.png)
黄色箭头2(下方的那个箭头)所在的区域是方法调用栈区(显示出来的方法表示都是已经执行过的方法),最上面的方法表示当前停留的方法(比如现在最上面的方法,就是箭头1所停留的方法)。越靠下的方法表示调用的时间较早,最上面的表示正在调用的方法。
黄色箭头2只想的红色方块如果是亮的,表示debug调试正在执行。
3、单步执行(遇到方法不会进入方法内部)
点击按钮
![](http://www.androidxx.cn/data/attachment/forum/201604/07/221956fkr8xpxq7x6hhkx7.png)
![](http://www.androidxx.cn/data/attachment/forum/201604/07/222036wjztaziu3bauiu32.png)
4、进入方法体内
点击按钮
![](http://www.androidxx.cn/data/attachment/forum/201604/07/222351vgvabaks9if45ysg.png)
其中红色按钮表示强制进入。
![](http://www.androidxx.cn/data/attachment/forum/201604/07/222524lqlssz99toc2ooae.png)
5、跳出方法
点击按钮
![](http://www.androidxx.cn/data/attachment/forum/201604/07/222728svq2znc5n18paq2c.png)
![](http://www.androidxx.cn/data/attachment/forum/201604/07/223020zolsleolnolfsldq.png)
6、重新执行此方法
点击按钮
![](http://www.androidxx.cn/data/attachment/forum/201604/07/223231yw8espwcpffzfcwq.png)
![](http://www.androidxx.cn/data/attachment/forum/201604/07/223449cnj65mmzf6mdvnd6.png)
7、跳到下一个断点
点击按钮
![](http://www.androidxx.cn/data/attachment/forum/201604/07/223723fvm1fybf5123t21e.png)
![](http://www.androidxx.cn/data/attachment/forum/201604/07/223912swqwzbzwz09k032z.png)
8、定位到正在执行的行。
点击按钮
![](http://www.androidxx.cn/data/attachment/forum/201604/07/224029e35oe4z60w50e09e.png)
9、设置断点条件
在断点
![](http://www.androidxx.cn/data/attachment/forum/201604/07/225947x3wmo5mc1j01jzqz.png)
![](http://www.androidxx.cn/data/attachment/forum/201604/07/230033zcvzp9por7vv7244.png)
如上图,设置condition:“lisi”.equals(param)表示只有当param值为lisi的时候,才停留在此断点处。
快捷键:
alt+f8 debug时选中查看值
f8相当于eclipse的f6跳到下一步
shift+f8相当于eclipse的f8跳到下一个断点,也相当于eclipse的f7跳出函数
f7相当于eclipse的f5就是进入到代码
alt+shift+f7这个是强制进入代码
ctrl+shift+f9 debug运行java类
ctrl+shift+f10正常运行java类