eclipse中的断点调试怎么后退一步?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eclipse中的断点调试怎么后退一步?相关的知识,希望对你有一定的参考价值。
用断点调试,没看清最后调的一步,如何退后一步?
步骤如下:
1 设置断点:在编码窗体的左边框上用鼠标双击,或者右键点击菜单,选择 Toggle Breakpoint菜单项即可.
2 在debug模式下运行程序进入调试状态:通过点击工具栏上的小虫按钮或者是在项目右键点击然后选择Debug As,android Application菜单,启动程序的调试模式.
3.第一次运行调试模式eclipse会弹出如下确认窗口当程序运行到你的断点地方时就会停下,这时可以按照下面的功能键按需求进行调试:
[1]快捷键(F8)直接执行程序,直到下一个断点处停止。
[2]快捷键(F5)单步执行程序,遇到方法时进入。
[3]快捷键(F6)单步执行程序,遇到方法时跳过。
[4]快捷键(F7)单步执行程序,从当前方法跳出。
4.查看断点时变量当前的值:右键点击对应的变量,在菜单上选择 watch 菜单项,变量的值就会出现在 expressions窗口中。
参考资料
csdn.csdn[引用时间2018-1-21]
参考技术A1、设置断点
在程序里面放置一个断点,也就是双击需要放置断点的程序左边的栏目上。
2、调试
(1)点击"打开透视图"按钮,选择调试透视图,则打开调试透视图界面,然后先设置断点,按调试按钮则可以调试程序。
(2)或者直接点击调试按钮,那个虫子样子的按钮,然后就会进入调试透视图的界面。前提你需要是要在程序中设置好断点。
(3)或者右键单击该程序,选择debug as(调试方式) -> java application(Java应用程序),则可以调试程序了。前提你需要是要在程序中设置好断点。
3、调试快捷键
以debug方式运行java程序后
(F5)单步执行程序,遇到方法时进入;
(F6)单步执行程序,遇到方法时跳过;
(F7)单步执行程序,从当前方法跳出;
(F8)直接执行程序。遇到断点时暂停;
按F5就是一层层深入的debug相当于剥葱样,会进入每个方法内部;
按F6就是在当前函数一步步debug,不理会深层次运作;
按F7就是如果当前进入了某个方法内部,都跳转到该方法的结尾代码处;
按F8就是如果后面还有断点,则运行到下一断点处,否则运行完程序;
另,在debug时,会有很多有用信息显示在debug框里,如堆栈信息,需要自己实践;在程序界面里,鼠标移到变量上时会有当前变量的属性值。
4、改变变量的值
在变量窗口中右击变量,在弹出的菜单中选择[change value],弹出修改画面。
改变其值后,按下ok按钮;这时变量的值就改为修改后的值了。
5、检查代码段执行结果
在程序运行的时候,想看看某段程序运行的结果是否正确,或者查看某个变量的值时:
选择一句或一段代码,右键单击在弹出的菜单中选择Watch(创建查看表达式)项,此时,代码的执行结果将显示在Expressions(表达式)窗口中。
选择一句或一段代码,右键单击在弹出的菜单中选择Inspect(检查)项,可以直接显示表达式的值。
eclipse操作断点快捷键有F5、F6、F7、F8,没有实现断点后退返回上一步的功能。
所以eclipse中的断点调试无法进行后退一步的操作。
Eclipse中如何设置断点并调试:
1、首先打开工程项目
2、在下拉框内找到“Toggle Breakpoint”,点击也可以进行断点
3、鼠标移动要设断点的地方,直接用快捷键“Ctrl+Shift+b",然后断点就出来了。
Eclipse断点调试
1.1 Eclipse断点调试概述
Eclipse的断点调试可以查看程序的执行流程和解决程序中的bug
1.2 Eclipse断点调试常用操作:
A:什么是断点:
就是一个标记,从哪里开始。
B:如何设置断点:
你想看哪里的程序,你就在那个有效程序的左边双击即可。
C:在哪里设置断点:
哪里不会点哪里。
目前:我们就在每个方法的第一条有效语句上都加。
D:如何运行设置断点后的程序:
右键 -- Debug as -- Java Application
E:看哪些地方:
Debug:断点测试的地方
在这个地方,记住F6,或者点击也可以。一次看一行的执行过程。
Variables:查看程序的变量变化
ForDemo:被查看的源文件
Console:控制台
F:如何去断点:
再次双击即可
找到Debug视图,Variables界面,找到Breakpoints,并点击,然后看到所有的断点,最后点击那个双叉。
1.2.1 案例代码一:
package com.itheima;
/*
* 断点调试:
* A:查看程序的执行流程
* B:调试程序
*
* 断点:
* 其实就是一个标记
*
* 在哪里加呢?
* 想加哪里就加哪里,一般是加在我们看不懂的地方
*
* 如何加呢?
* 在代码区域的最左边双击即可
*
* 如何运行加断点的程序呢?
* 代码区域 -- 右键 -- Debug as -- Java Application
* 会弹出一个页面让我们选择是否进入debug模式,选择yes。
*
* 如何让程序往下执行呢?
* Step Over 执行下一步
* F6
*
* 看那些区域呢?
* 代码区域:看程序的执行步骤
* Debug区域:看程序的执行步骤
* Variables:看变量的创建,赋值,销毁等
* Console:看程序的输入和输出
*
* 如何去除断点:
* A:把加断点的动作再来一遍
* B:在debug视图中,找到Breakpoints,选中断点,点击双x即可
*/
public class DebugDemo {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = a + b;
System.out.println(c);
}
}
1.3 断点调试练习
1.3.1 案例代码二:
package com.itheima;
/*
* 需求:看循环的执行流程(1-5求和案例)
*/
public class DebugTest {
public static void main(String[] args) {
// 定义求和变量
int sum = 0;
// 循环获取每一个数据
for (int x = 1; x <= 5; x++) {
sum += x;
}
System.out.println("sum:" + sum);
}
}
1.3.2 案例代码三:
package com.itheima;
import java.util.Scanner;
/*
* 需求:看方法的调用流程
*
* 有方法调用的时候,要想看到完整的流程,每个方法都要加断点,建议方法进入的第一条有效语句加断点
*/
public class DebugTest2 {
public static void main(String[] args) {
// 创建对象
Scanner sc = new Scanner(System.in);
// 接收数据
System.out.println("请输入第一个数据:");
int a = sc.nextInt();
System.out.println("请输入第二个数据:");
int b = sc.nextInt();
// 调用方法
int result = sum(a, b);
// 输出结果
System.out.println("result:" + result);
}
// 求和方法
public static int sum(int a, int b) {
return a + b;
}
}
1.3.3 案例代码四:
package com.itheima;
/*
* 参数是基本数据类型:
* 形式参数的改变不影响实际参数。
*/
public class DebugTest3 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a:" + a + ",b:" + b);
change(a, b);
System.out.println("a:" + a + ",b:" + b);
}
public static void change(int a, int b) {
System.out.println("a:" + a + ",b:" + b);
a = b;
b = a + b;
System.out.println("a:" + a + ",b:" + b);
}
}
1.3.4 案例代码五:
package com.itheima;
/*
* 参数是基本数据类型:
* 形式参数的改变不影响实际参数。
*/
public class DebugTest3 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a:" + a + ",b:" + b);
change(a, b);
System.out.println("a:" + a + ",b:" + b);
}
public static void change(int a, int b) {
System.out.println("a:" + a + ",b:" + b);
a = b;
b = a + b;
System.out.println("a:" + a + ",b:" + b);
}
}
以上是关于eclipse中的断点调试怎么后退一步?的主要内容,如果未能解决你的问题,请参考以下文章