首页 > 编程知识 正文

eclipsedebug怎么用,debug调试工具

时间:2023-05-03 18:51:22 阅读:21383 作者:3529

今天,长沙黑马程序员老师为大家讲解如何正确使用调试程序:

一. Debug课程引言

我们写程序的时候,经常会发生也被称为错误的问题。 例如,程序执行错误,结果与预想不同等。 面对这些问题,尤其是对初学者来说有很大的烦恼,在解决问题的过程中会消耗很多时间。 因为我找不到解决问题的方法。

所以,我认为有必要开发提高大家解决问题能力的课程。 因为无论是对于现在的学习,还是将来的工作,解决漏洞都是非常重要的能力。 因为bug无处不在,所以可以说bug是我们开发的伙伴。 只有我们能征服这些臭虫,才能征服开发工作。

二. bug分类

程序中的错误大致分为两种:编译时错误和运行时错误。

1 .编译时错误

这样的问题基本上是一些语法错误,哪里有红色的波浪线,哪里就有问题。

a .弄错了类名、方法名、变量名

b .你把标点符号搞错了

c .括号不匹配

d .修改了代码,没有保存

e .方法中没有return语句

这些问题是最基本的语法形式问题,需要知道如何解决。 这不是这次课的重点。

2 .运行时错误

运行程序时产生的错误才是我们课程的重点。

运行程序时发生错误的原因很复杂,可能包括

a .程序无法正常运行,并报告错误(例如NullPointerException )。

b .程序可以正常运行,但结果错误

这些bug的原因很复杂,看起来没有什么问题,执行起来也没错,但结果是错误的代码,让人头疼。 此时,为了调试程序,需要使用专业的调试工具。

三.调试APP

为了让大家熟悉调试工具,提高解决错误的能力,在基础班的各个阶段分别设置有错误的案例,通过调试方式查找问题。

有句老话叫“授人以渔不如授人以渔”,通过学习这些案例,我希望大家以后面对问题也能先自己解决。 大家毕业工作,拿别人的工资,到时候遇到臭虫,谁来解决,只能自己想办法。

1 .调试案例1

//作为参数的基本类型

公共服务语音(inta ) {

a=a 1;

}

//作为参数引用类型

publicstaticvoidshow(int[]arr ) {

arr[0]=1;

}

2 .调试案例2

/*

*分析以下要求并在代码中实现(循环,if ) :

)1)打印1到100之间的整数,如果数字中包含9,则跳过

)2)在每行输出5个满足条件的数,之间用空格分隔

(3)例如1 )2)3)4) 5

*/

公共静态语音功能3 (

int count=0;

for(intI=1; i100; I ) {

if (! (i==9||i/10==9) ) }{

system.out.print(I ' );

出局;

}

if (计数%5==0) {

System.out.println (' );

}

}

}

执行结果如下。 在38到40之间添加了空行

…省略……

34 35 36 37 38

40 41 42 43 44

…省略……

3 .调试案例3

公共班级富户{

资讯科技

a;

public Fu() {

a=20;

show();

}

public void show(){

System.out.println(a);

}

}

public class lgdwd extends Fu{

int a;

public lgdwd() {

a=20;

}

public void show(){

System.out.println(a);

}

public static void main(String[]args){

lgdwd z=new lgdwd();

z.show();

}

}

打印结果为:

0

20

4. Debug案例4

下面字符串中”java”出现的次数

“sunjavahpjavaokjavajjavahahajavajavagoodjava”

String s ="sunjavahpjavaokjavajjavahahajavajavagoodjava";

int count = 0;

int index=0;

while (s.indexOf("java") != -1) {

index = s.indexOf("java", index);

if (index != -1) {

index = index + 1;

count++;

}

}

System.out.println(count);

5. Debug案例5

public static void main(String[] args) {

getDir(newFile("C:"));

}

/*

* 打印输出指定目录下所有的.java文件(包含子目录)

*/

public static void getDir(File dir){

File[] files = dir.listFiles();

for(File f:files){

if(f.isDirectory()){

getDir(f);

}else{

if(f.getName().endsWith(".java")){

System.out.println(f);

}

}

}

}

Exception in thread "main" java.lang.NullPointerException

atcn.itcast.demo1.Demo4.getDir(Demo4.java:15)

atcn.itcast.demo1.Demo4.getDir(Demo4.java:17)

atcn.itcast.demo1.Demo4.getDir(Demo4.java:17)

atcn.itcast.demo1.Demo4.main(Demo4.java:7)

如果有需要了解更多的学习资源可以关注一下微信订阅号“黑马程序员长沙中心”。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。