Android Studio中使用断点调试程序

Posted 南风小斯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio中使用断点调试程序相关的知识,希望对你有一定的参考价值。

1.设置断点

在希望中断的位置左边label一下,设置一个断点。例如下方图片所示在ActivityResultRegistry类中的第147行设置了一个断点,以及在365行dispatchResult()方法处设置了一个断点。

设置好断点后,可以在菜单栏依次点击Run->View Breakpoints查看所设置的全部的断点,并进行删减和修改。

2.Debug程序

点击工具栏中的Debug图标,进入debug模式。

 在下方工具栏进入debug中,然后可以看到在所设置的断点中中断了。进而可以通过step over /step in /force step in /step out /drop frame /run to cursor调试程序了。

 

Android Studio调试功能使用总结

这段时间一直在使用Intellij IDEA, 今天把调试区工具的用法记录于此。

 

先编译好要调试的程序。

1.设置断点

技术分享

选定要设置断点的代码行,在行号的区域后面单击鼠标左键就可以。

 

2.开启调试会话

技术分享

点击红色箭头指向的小虫子。開始进入调试。

 

技术分享

IDE下方出现Debug视图,红色的箭头指向的是如今调试程序停留的代码行。方法f2()中,程序的第11行。红色箭头悬停的区域是程序的方法调用栈区。在这个区域中显示了程序运行到断点处所调用过的所用方法,越以下的方法被调用的越早。

 

3.单步调试

3.1 step over

技术分享

点击红色箭头指向的button。程序向下运行一行(假设当前行有方法调用,这种方法将被运行完成返回。然后到下一行)

3.2 step into

 技术分享

点击红色箭头指向的button,程序向下执行一行。假设该行有自己定义方法,则执行进入自己定义方法(不会进入官方类库的方法)。详细过程例如以下:

在自己定义方法发f1()处设置断点,运行调试

技术分享

 

 

点击技术分享

技术分享

 

3.3 Force step into 

技术分享

该button在调试的时候能进入不论什么方法。

3.4 step out

技术分享

 

假设在调试的时候你进入了一个方法(如f2())。并认为该方法没有问题,你就能够使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已运行完成。

3.5 Drop frame

技术分享

 

点击该button后,你将返回到当前方法的调用处(如上图,程序会回到main()中)又一次运行,而且全部上下文变量的值也回到那个时候。

仅仅要调用链中还有上级方法,能够跳到当中的不论什么一个方法。

4. 高级调试

4.1 跨断点调试

设置多个断点。开启调试。

技术分享

 

想移动到下一个断点,点击例如以下图:

技术分享

程序将运行一个断点到下一个断点之间须要运行的代码。假设后面代码没有断点,再次点击该button将会运行完程序。

4.2 查看断点

技术分享

 

点击箭头指向的button。能够查看你以前设置过的断点并可设置断点的一些属性。

技术分享

箭头1指向的是你以前设置过的断点,箭头2能够设置条件断点(满足某个条件的时候,暂停程序的运行,如 c==97)。结束调试后,应该在箭头1处把所设的断点删除(选择要删除的断点后,点击上方的红色减号)。

 

4.3 设置变量值

技术分享

 

调试開始后。在红箭头指向的区域能够给指定的变量赋值(鼠标左键选择变量,右键弹出菜单选择setValue...)。

这个功能能够更加高速的检測你的条件语句和循环语句。

 

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类
command+f2停止执行

以上是关于Android Studio中使用断点调试程序的主要内容,如果未能解决你的问题,请参考以下文章

Android debug:Android Studio断点调试详解

Android Studio 断点调试

如何在 NDK 原生代码中获取断点并在 Android Studio 中调试原生代码?

Android Studio调试功能使用总结

Android Studio调试功能使用总结转

[转载]Android Studio调试功能使用总结