首页 > 编程语言 >eclpise断点调试Java代码

eclpise断点调试Java代码

时间:2023-04-15 20:55:34浏览次数:40  
标签:eclpise Java 代码 视图 step 执行 断点 into

Eclipse支持对Java代码进行Debug

也就是在执行代码时暂停执行并可以观察相关的信息, 比如栈中的变量, 堆中的变量, 执行的代码, 方法调用栈等, 这个暂停的位置就是断点

一个简单的工程

如果需要观察getMax方法的执行, 可以在代码编辑器左边缘双击, 增加断点, 或者右键 Toggle Breakpoint, 或者crtl+shift+b快捷键

 

代码编辑器左边缘显示所增加的断点

在代码编辑区右键 debug as Java Application

或者点击菜单栏图标

 

eclipse会提示是否切换debug视图, 点击switch

debug视图如下图

可以看到断点打在第9行代码, eclipse在执行第9行代码前暂停, 在Variables视图可以看到main方法中局部变量i=10, j=20, test为DebugTest类型

 

控制按钮如下

其中

step into f5 后会进入getMax()方法继续执行, 例如上面第9行step into会跳到第14行, 如果不涉及方法调用, step into的效果和step over相同, 例如14行step into会跳到15行 step over f6 执行完当前行代码, 进入下一行(不管当前行有没有方法调用), 例如上面如果在第9行step over会直接跳到第10行 step return f7 方法内任意一行step return会执行完当前行所在方法并返回 例如上例中14-20任意行step over都会跳到第9行 resume f8 从当前断点跳到下一个断点, 如果没有下一个断点就直接执行 terminate ctrl+f2 终止运行   debug视图和java视图切换  

 

或者window->perspective->open perspective->相应视图

 

在debug视图下, step into, step over. step return结合variables视图, 可以观察程序执行过程

下图是一直step into直到执行到第14行时界面

下图右测Breakpoints标识了断点信息

 

expressions页可以输入一些语句执行,例如下图中在执行到15行时在expressions页输入max, 对应value就显示了值, 如果输入max==0, 那么value处就是显示的true

 

标签:eclpise,Java,代码,视图,step,执行,断点,into
From: https://www.cnblogs.com/littlezt/p/17321725.html

相关文章

  • java -- 标记接口
    标记接口标记接口(MarkerInterface),又称标签接口(TagInterface)仅代表一个标记不包含任何方法标记接口是用来判断某个类是否具有某种能力Cloneable标记接口此类实现了Cloneable接口,以指示Object.clone方法可以合法地对该类实例进行按字段复制如果在没有实现Cloneable接......
  • JAVA远程请求工具类
    importcom.alibaba.fastjson.JSONObject;importorg.apache.http.Consts;importorg.apache.http.HttpResponse;importorg.apache.http.HttpStatus;importorg.apache.http.NameValuePair;importorg.apache.http.client.entity.UrlEncodedFormEntity;importorg.apac......
  • Java笔记(16) Collection集合-->Set集合-->HashSet
    1.Set接口基本介绍Set是无序集合(添加和取出的顺序不一致,但取出的顺序是固定的),没有索引不允许重复元素,所以最多包含一个nullJDKAPI中Set接口的实现类有:Abstract,ConcurrentHashMap.KeySetView,ConcurrentSkipListSet,CopyOnWriteArraySet,EnumSet,HashSet,JobStateRea......
  • java的协变和逆变
    一、协变和逆变的概念协变:模板中赋值给A的是A或者A的子类。比如:List<?extendsA>listA=List<ChildA>()即:ChildA可能是A或者A的子类逆变:模板中赋值给A的是A或者A的父类。比如:List<?superA>listA=List<ParentA>()即: ParentA可能是A或者A的父类二、为何会有协变和逆......
  • java maven-plugin-shade插件 Maven生成的jar运行出现“没有主清单属性”
    命令窗口运行jar,提示“没有主清单属性”  2.1分析问题在打包构建的jar目录内,可以看到有一个MANIFEST.MF文件,如图所示:该文件就是jar运行时要查找的清单目录,其中主清单数据,就是我们要运行的主类(函数入口main所在的类);提示缺少主清单属性,就是文件中少了主清单属性如下所示:正......
  • java——微服务——spring cloud——前言导读
                       黑马课程连接:https://www.bilibili.com/video/BV1LQ4y127n4?p=1&vd_source=79bbd5b76bfd74c2ef1501653cee29d6 ......
  • java——maven——分模块——资源加载属性值
    第一步:   第二步:    第三步:                       ......
  • java——maven——分模块——属性定义与使用
                   版本号统一管理                 ......
  • java——maven——分模块——模块继承
    通过父工程,管理所有子模块的依赖版本管理    把所有依赖放入dependentmanagement下面        所有的子工程需要修改,引入父工程,然后子工程里面的引入依赖的版本号全部去除,交由父工程统一管理:       插件依赖,也可以进行版本统一管理:......
  • java: 无法访问org.springframework.boot.SpringApplication
    在运行springboot项目中的Application.java时出现:错误的类文件: /D:/install/Maven/apache-maven-3.6.1/repository/org/springframework/boot/spring-boot/3.0.5/spring-boot-3.0.5.jar!/org/springframework/boot/SpringApplication.class   类文件具有错误的版本 61.0, ......