(注:本人所用Android Studio的Keymap已设为Eclipse copy)
1.设置断点
只有设置断点,才好定位要调试什么地方,否则找不到要调试的地方,无法调试。(调试过程中也可以增加断点)
2.进入调试模式
选择要调试的程序,进入调试模式。如图所示:
3、单步调试
(1)step over:快捷键 F6
调试器命令step-over(在GDB中是next)的作用是在同一个调用栈层中移动到下一个可执行的代码行。如果当前行是一个函数调用,则调试器将在函数调用之后的下一条语句停止。调试器不会进入函数体。如果当前行是函数的最后一行,则step-over将进入下一个栈层,并在调用函数的下一行停止。
(2)step into:快捷键 F5
调试器命令step-into(在GDB中是step)的作用是移动到下一个可执行的代码行。如果当前行是一个函数调用,则调试器将进入函数,并停止在函数体的第一行。step-into可以帮助初步揭开代码位置的谜团。例如,函数调用和函数本身可能在不同的文件中。
(3)Force step into :快捷键 Alt+Shift+F7
该按钮在调试的时候能进入任何方法。
(4)step out:快捷键 F7
调试器命令step-out(在GDB中是finish)的作用是在栈中前进到下一层,并在调用函数的下一行停止。
(5)Drop frame:位置如图所示
点击该按钮后,你将返回到当前方法的调用处(如上图,程序会回到main()中)重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法。
4、高级调试
(1)跨断点调试(Resume Program:快捷键 F8)
设置多个断点,开启调试。
想移动到下一个断点,按F8键(或者按下图箭头所示按钮)。
程序将运行一个断点到下一个断点之间需要执行的代码。如果后面代码没有断点,再次点击该按钮将会执行完程序。
(2)查看断点
点击上图箭头指向的按钮,可以查看设的断点并可设置断点的一些属性。
上图箭头处可设置断点条件(满足某个条件的时候,暂停程序的执行)。结束调试后,应该在箭头1处把所设的断点删除(选择要删除的断点后,点击上方的红色减号)。
(3)设置变量值
调试开始后,在红箭头指向的区域可以给指定的变量赋值(鼠标左键选择变量,右键弹出菜单选择setValue...)。这个功能可以更加快速的检测你的条件语句和循环语句。
5、退出调试:快捷键 Ctrl+F2
点击上图箭头所示按钮停止调试。