java基础 myeclipse的Debug的使用 ————没有异常提示的设计错误。

一、源代码:

话不多说,上老师的课程案例代码,本着要求最大值的需求写,结果出来的不是最大值,用debug来改。没改之前

package prectice;

public class DebugTest {
	
	//输出两个数中最大值

	public static void main (String[] args){
		
		int i = 10;
		int j = 20;
		
		System.out.println("i = " + i + ",j = " +  j);
		
		DebugTest test = new DebugTest();
		
		int max  = test.getMax(i, j);
		
		System.out.println("max = "+ max);
		
	}
	
	private int getMax(int k, int m ){
		
		int max  = 0;
		if(k<m){
			max = k;
		}else {
			max = m;
		}
		return max;
	}
	
}

输出结果为如下,显然不是想要的结果:

二、调试程序有两种方式:

①、System.out.println();(太多代码的情况下,需要写很多syout语句,查完bug还需要删除syout语句,所以不适用)

②、Myeclipse(Eclipse)的debug调试

一般采用第二种方式调试:

调试步骤为:

1.设置断点(注意:可以设置多个断点)

2.debug as java application

3.常用操作:

step into 跳入【F5】(进入当前行所调用的方法中)

step over 跳过【F6】(执行完当前行的语句,进入下一行)

step return 跳回【F7】(执行完当前行所在的方法,进入下一行)

drop to frame                 (执行当前行所在方法的第一行)

resume 恢复    (执行完当前行所在断点的所有代码,进入下一个断点,如果没有就结束)

 

调试开始:

先设置两个断点:第一个断点:在”System.out.println("i = " + i + ",j = " +  j);“

的代码行的数字标识处的外边双击两次,出现一个点,(第一个断点设置完成)

第二个断点:在“int max  = test.getMax(i, j);”的代码行的数字标识处的外边双击两次,出现一个点,

(第二个断点设置完成)

将上面的源代码在Eclipse(Myeclipse)中右键单击Debug as-->Proceed-->Yes

目前程序运行到   第一个断点时,

有以下内存中加载有   (name列表下的)数组的形参,以及变量 i,j   后面的(value)变量值

Outlined显示的时当前类下的功能

在IDE工具栏有以下图标:

  Step Into [F5] (进入方法中看方法的内容)

 Step Over[F6](一行代码一行代码的往下走)

   Step Return [F7]   是step into的逆过程,即从方法中出来

 

接下来点击step  over  ,就进入到DebugTest test = new DebugTest();这一行,(注意:只是到了这一行,但是还没开始执行)

因此,继续step over,可以看到DebugTest test = new DebugTest();这一行代码执行之后,在Variables栏目中的变量有了个新的变量(test)

这时(判断是方法体出错了,所以进入方法体测试),即运行完DebugTest test = new DebugTest();之后我们点击

step into [F5]  进入到getMax()方法中

此时再点击step over  ,这时   Variables栏目多了个max变量,并且值为0  k==10,  m==20

在源码中:k<m,正确,在点击step over 此时进入到  max = k;    光标移动到max 和k 处,看到k==10,

继续step  over ,看到  Variables栏目多了个max变量,并且值为10,   因此可以知道是 max = k;   这个语句出现错误,

这个max赋值错误,需要把m赋值给max,    k改成m即可.

检查结束,这是点击   step  return  按钮,退出方法.

bug修改完毕可以点击调试终止,

如果想返回上一步,即step over之后,突然想起没看清刚才的变量,这时可以点击返回上一步操作.

 

当然,   如果后面还有断点,代码要测试,可以使用

这个按钮到达下一个断点处,继续检查bug.如果没有断点了,点这个按钮会使程序终止.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值