Java Eclipse进行断点调试的方法

作者:邴越 时间:2023-06-14 06:31:27 

如何调试Java程序?

大家最开始学习Java,都会觉得IDE调试好高端有木有,其实很简单了。

下文会尽量简单直观的教会你在Eclipse中调试,其他的IDE调试步骤也是类似的。

1.在你觉得有错的地方设置断点。

在代码行数前,点击右键,注意是右键,然后选择Toggle Breakpoint。

Java Eclipse进行断点调试的方法

你可能会问,我如何知道在哪儿放置断点?

如果对这个问题完全没有感觉,你完全可以多打几个断点,单步调试直到找到异常,只是多花一点时间而已,而且这样可以更深入了解程序的执行过程!

当然,如果你大致可以直到哪里可能会出问题,或者异常信息报告类位置,那么就可以在这里设置断点。

2.点击Debug,如果是web程序,需要你将Tomcat或者Apache服务器以Debug模式启动。

这很重要,标准的Start模式,不能进入预先设置的断点,也就不能达到调试的目的。

Java Eclipse进行断点调试的方法

3.运行程序,当程序运行到刚才设置断点的位置就会停下来,并且那行代码底色会高亮显示。

Java Eclipse进行断点调试的方法

这时候,你可以通过屏幕按钮或者键盘控制程序的进行。

下面是键盘对应调试的快捷键,如果不起作用,你可以检查一下是不是键盘冲突。

比如有道词典的快捷键,经常会和Debud模式下的Resume冲突。

作用域 功能 快捷键

全局 单步返回 F7
全局 单步跳过 F6
全局 单步跳入 F5
全局 单步跳入选择 Ctrl+F5
全局 调试上次启动 F11
全局 继续 F8
全局 使用过滤器单步执行 Shift+F5
全局 添加/去除断点 Ctrl+Shift+B
全局 显示 Ctrl+D
全局 运行上次启动 Ctrl+F11
全局 运行至行 Ctrl+R
全局 执行 Ctrl+U

4.进入调试界面可以看到你想要的信息。

Java Eclipse进行断点调试的方法

5.在Variables里面可以查看所有变量的值,比如刚才设置的断点里面的值,右键ChangeValue可以更改,部分IDE支持在窗口中热更改并执行代码。

Java Eclipse进行断点调试的方法

6.下面按钮第一个是进入方法执行,比如你调用了其他方法,可以进入方法一步一步执行,如果点击第二个按钮,只会在本方法内一步一步执行,第三个按钮时你跳出此方法,继续执行调用这个方法的原方法,说明如下。

Java Eclipse进行断点调试的方法

7.执行完程序。

8.为Eclipse添加反编译插件,更好的调试

一般来说,我们的项目或多或少的都会引用一些外部jar包,如果可以查看jar包的源代码,对于我们的调试可以说是事半功倍。

1、下载并安装jad.exe。将jad.exe解压到程序目录(可以放置任意目录),例如:C:\Program Files\Jad\jad.exe。

2、安装jadclipse插件。下载并解压net.sf.jadclipse_3.3.0.jar,将其拷贝到eclipse\plugins目录下,重新启动eclipse。

3、配置jadclipse。在eclipse窗口下,点击Window > Preferences > Java > JadClipse > Path to Decompiler。
(设置jad的绝对路径,例如 C:\Program Files\Jad\jad.exe)
可将Use Eclipse code formatter(overrides Jad formatting instructions)选项打勾,这样可以与Ctrl+Shif+F格式化出来的代码样式一致。

执行完这几个步骤,再在导入自Jar包的类或者方法上点击查看,就可以查看源代码了,如果不能,参考下面的解决办法:

多数情况下,是eclipse未能自动将JadClipse Class File Viewer设置成class文件的缺省打开方式。

在Eclipse的Windows——> Perference——>General->Editors->File Associations中修改“*.class”和“*.class without source”默认关联的编辑器为“JadClipse Class File Viewer”。

曾经配置过几次jad插件,如果不能反编译,如此设置后,屡试不爽。

来源:http://www.cnblogs.com/binyue/p/3324524.html

标签:Eclipse,Java,断点调试
0
投稿

猜你喜欢

  • c#中WinForm用OpencvSharp实现ROI区域提取的示例

    2023-03-22 13:54:10
  • Java通过XPath获取XML文件中符合特定条件的节点

    2023-01-19 07:42:34
  • Java try-catch-finally异常处理机制详解

    2023-10-02 20:29:00
  • java多线程之线程同步七种方式代码示例

    2022-04-29 17:55:46
  • mybatis快速入门学习教程新手注意问题小结

    2023-08-23 18:52:38
  • Java实现分页代码

    2023-08-05 08:14:47
  • 安卓(Android)聊天机器人实现代码分享

    2022-12-29 05:57:31
  • idea切换分支的时候,忽略一些无用的修改设置

    2022-01-10 04:13:37
  • SpringBoot项目中分页插件PageHelper无效的问题及解决方法

    2021-07-08 23:25:55
  • Java IO学习之缓冲输入流(BufferedInputStream)

    2021-10-08 22:30:23
  • Java利用POI读取、写入Excel的方法指南

    2023-11-23 15:39:23
  • Unity创建平铺网格地图的方法

    2022-07-06 16:05:49
  • Java内存区域与内存溢出异常详解

    2022-09-10 17:01:19
  • C# CultureInfo类案例详解

    2023-04-20 05:00:45
  • c# 将Minio.exe注册成windows服务

    2022-09-25 20:51:18
  • Java枚举的七种常见用法总结(必看)

    2022-10-10 08:38:43
  • Java使用RedisTemplate模糊删除key操作

    2023-06-24 06:45:25
  • Java 常量与变量的区别详细介绍

    2023-03-09 13:30:48
  • sprng和struts有什么区别?

    2022-03-02 02:13:35
  • Android Studio 引用外部依赖时报错的解决方法

    2023-09-26 18:20:11
  • asp之家 软件编程 m.aspxhome.com