Eclipse中的Debug

一、Debug的基本过程

  1. 设置断点(双击待设断点左边行号处)
  2. 进入Debug模式(在待调试类上右键>调试方式,根据需求选择)
  3. 开始调试

二、Debug中的常用操作

  1. 继续执行【F8】:继续运行程序,直到下一个断点时挂起。
  2. 单步跳入【F5】:执行下一行有效代码,检测到调用方法时,进入被调用的方法。
        • (有效代码:本次运行中要执行的代码。比如if判断条件为false时,if{}内即为无效代码)
  3. 单步跳过【F6】:执行下一行有效代码。
  4. 单步返回【F7】:执行完当前方法(直到断点处),返回到调用处(如果有)。(无调用者时,F7无效)
  5. 单步执行过滤器:激活后,在单步执行(F5/F6/F7)时,遇到被过滤的部分,将不会停下,继续执行。一般将JDK或者其他库中的底层代码过滤掉,也可以过滤自己的代码库中的框架部分代码。(设置:窗口>首选项>Java>调试>单步执行过滤)
  6. 暂挂/恢复:暂时挂起一个线程。一般用于多线程程序的调试。
  7. 拖放至帧:回到当前方法的开始处重新执行,之前执行过程中变量的变化全部重置为开始时的状态,但在程序外产生的作用不可逆(比如数据库操作、文件操作等)。可以配合修改代码、改变变量值等,反复调试关注的某一段代码。【其实不止是当前方法,还可以通过点击当前调用栈中的任意一个帧(起始帧除外),跳到那里】
  8. 终止:强行关闭所有线程,结束本次调试。

三、断点简述

1.断点类型

  1. 行断点:执行到该行时暂挂。最普通的断点形式,在行号处双击添加。
  2. 方法断点:进入/退出方法时暂挂。将断点打在方法的入口处。特点:可以将断点打在JDK源码中(行断点不行),从而查看方法的调用栈。
  3. 异常断点:发生异常时暂挂。运行>添加Java异常断点,或点击添加异常断点。可用占位符*和?,分别表示任意字符串和任意字符。
  4. 类加载断点:加载指定类时暂挂。 运行>添加类装入断点,来添加类加载断点。在调试类加载(静态方法、静态代码块等)时使用。
  5. 变量观察点:指定成员变量发生指定变化时暂挂。在声明成员变量处的行号双击添加。可以选择在该变量访问、修改或达成指定条件时挂起。

2.断点属性

在断点上右键>断点属性来设置。上述断点均可设置这些属性,来改变暂挂的方式。

  1. Hit Count:执行次数。设置后,在程序第X次执行到此断点时暂挂。用于循环中的调试。
  2. Trigger Point:触发点。设置后,只有在该断点被触发后,其他断点才生效。
  3. 暂挂方式:挂起线程/挂起VM。前者一般用于多线程时暂挂该线程(单线程也可使用,与挂起VM效果相同)。
  4. Conditional:条件断点。设置后,仅当满足指定条件时暂挂。可选两种:条件为真/变量值改变。选择“条件为真”时,应在条件栏中填写条件表达式;选择“变量值改变”时,应在条件栏中填写变量表达式。

四、其他技巧

1.在main方法的第一行停止:运行>调试配置,选择“在main中停止”。设置后,程序运行到main函数的第一行时暂挂。

2.表达式:可以对自己的感兴趣的一些变量进行观察,也可以增加一些自己的表达式,也可以查看一行代码的运行结果。窗口>显示视图>表达式,打开表达式视图,然后可以添加表达式、观察动态。要对表达式求值时,选中一行,在要求值的地方右键>检查。

参考:Eclipse 调试器:零距离接触实战技巧

时间: 2024-10-23 21:53:36

Eclipse中的Debug的相关文章

eclipse中的debug的用法

最基本的操作是: 1.首先在一个java文件中设断点,然后debug as-->open debug Dialog,然后在对话框中选类后--> Run 当程序走到断点处就会转到debug视图下. 2.F5键与F6键均为单步调试,F5是step into,也就是进入本行代码中执行,F6是step over, 也就是执行本行代码,跳到下一行, 3.F7是跳出函数 4.F8是执行到最后. 1.Step Into (also F5) 跳入 2.Step Over (also F6) 跳过 3.Step

eclipse中以debug方式启动tomcat报错

在eclipse中debug  Tomcat报错,错误如下: FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) ERROR: transport error 202: connect failed: Operation timed out ERROR: JDWP Transport dt_socket failed to initiali

eclipse中启动debug无法使用

转:eclipse不能进入debug模式的解决办法 找到Debug中的项目,右击,选择edit Source Lookup,先remove掉之前的,然后add当前workspace.最后确认下,重新启动服务就可以了. (1) (2) (3) 如果有进入了debug模式,但是程序中没有绿色进度条跟踪,这么做一下,也OK了.

怎样在Eclipse中使用debug模式调试程序

最基本的操作是: 1, 首先在一个java文件中设断点,然后运行,当程序走到断点处就会转到debug视图下, 2, F5键与F6键均为单步调试,F5是step into,也就是进入本行代码中执行,F6是step over, 也就是执行本行代码,跳到下一行, 3,F7是跳出函数 4,F8是执行到最后. 1.Step Into (also F5) 跳入 2.Step Over (also F6) 跳过 3.Step Return (also F7) 执行完当前method,然后return跳出此me

Maven项目在Eclipse中调试 Debug

废话不说一路跟图走.

Eclipse中,如何调试Java Web?

这里介绍的是在Eclipse中的Debug调试: 首先右击项目选择Debug As -- Debug on Server 或者点击Server面板的小昆虫图标,启动Debug模式. 运行web项目,进行到需要调试的地方,在执行页面操作之前,在即将要运行的代码中添加断点,然后继续执行页面操作,当代运行到断点处时,Eclipse自动弹出,进入Debug模式,这时就可以使用Debug模式进行观察了. 在Variables变量视图中可以查看当前的变量值. 几个快捷键操作: F5: Step Into:跳

在eclipse中公布maven的多模块web项目到tomcat上及单步debug模块jar

1.在eclipse中公布maven的多模块web项目到tomcat eclipse和maven及tomcat的部署略去,还有maven的基础知识和使用在此处略去. 依照例如以下的步骤操作: 将lib和maven模块生成的jar增加到lib下. 注意:到这步可能有WebContent而且没有src/main/webapp,要做例如以下操作 1.选中 WebContent,remove掉它 2.新建一个,Source目录为src/main/webapp,deploy path为 / 至此,后面能够

eclipse中debug使用

先提三点 不要使用System.out.println作为调试工具 启用所有组件的详细的日志记录级别 使用一个日志分析器来阅读日志 1.条件断点 想象一下我们平时如何添加断点,通常的做法是双击行号的左边.在debug视图 中,BreakPoint View将所有断点都列出来,但是我们可以添加一个boolean类型的条件来决定断点是否被跳过.如果条件为真,在断点处程序将停止,否则断点被跳过, 程序继续执行. 2.异常断点 在断点view中有一个看起来像J!的按钮,我们可以使用它添加一个基于异常的断

在eclipse中发布maven的多模块web项目到tomcat上及单步debug模块jar

1.在eclipse中发布maven的多模块web项目到tomcat eclipse和maven及tomcat的部署略去,还有maven的基础知识和使用在此处略去. 按照如下的步骤操作: 将lib和maven模块生成的jar加入到lib下. 注意:到这步可能有WebContent并且没有src/main/webapp,要做如下操作 1.选中 WebContent,remove掉它 2.新建一个,Source文件夹为src/main/webapp,deploy path为 / 至此,后面可以用正常