`
eggbucket
  • 浏览: 186501 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

myeclipse 调试技巧

 
阅读更多

记得刚刚毕业的时候,自己连断点也不会打,当时还在用JCreate  ,就连毕业设计也是用 System.out    Bug  的,想想真的很笨。开始工作后,一个星期过去了,在一个  1    2  百万行的系统中找  Bug  ,我依然在用  System.out  ,当时最痛苦的就是修改代码,每次找到疑似  Bug  ,就输出一下,然后重启(那时也不知道代码热替换),直到有一天带我的导师发现了这样笨笨的调试  Bug  ,才让我第一次认识了断点,也知道了代码修改完了可以进行热替换, 我这个中国教育的半牺牲品才算向美好生活迈进了一小步。

 

 

1、  条件断点

断点大家都比较熟悉,在Eclipse Java  编辑区的行头双击就会得到一个断点,代码会运行到此处时停止。

条件断点,顾名思义就是一个有一定条件的断点,只有满足了用户设置的条件,代码才会在运行到断点处时停止。

在断点处点击鼠标右键,选择最后一个"Breakpoint Properties"

断点的属性界面及各个选项的意思如下图,

2、  变量断点

断点不仅能打在语句上,变量也可以接受断点,

上图就是一个变量的打的断点,在变量的值初始化,或是变量值改变时可以停止,当然变量断点上也是可以加条件的,和上面的介绍的条件断点的设置是一样的。

3、  方法断点

 

方法断点就是将断点打在方法的入口处,

方法断点的特别之处在于它可以打在  JDK的源码里,由于  JDK  在编译时去掉了调试信息,所以普通断点是不能打到里面的,但是方法断点却可以,可以通过这种方法查看方法的调用栈。

4、  改变变量值

代码停在了断点处,但是传过来的值不正确,如何修改一下变量值保证代码继续走正确的流程,或是说有一个异常分支老是进不去,能不能调试时改一下条件,看一下异常分支代码是否正确?

Debug  视图的  Variables  小窗口中,我们可以看到  mDestJarName  变量的值为  " F:\Study\eclipsepro\JarDir\jarHelp.jar  "

我们可以在变量上右键,选择"Change Value..."  在弹出的对话框中修改变量的值,

 

或是在下面的值查看窗口中修改,保用Ctr+S  保存后,变量值就会变成修改后的新值了。

5、  重新调试

 

这种调试的回退不是万能的,只能在当前线程的栈帧中回退,也就说最多只能退回到当前线程的调用的开始处。

回退时,请在需要回退的线程方法上点右键,选择  "Drop to Frame"

6、  远程调试

用于调试不在本机上的程序,有两种方式,

1、本机作为客户端

2、本机作为服务端

使用远程调试的前提是服务器端和客户端的代码是一致的。

 

本机作为客户端

本机作客户端比较常用,需要在远端的服务器上的java程序在启动时打开远程调试开关,

服务器端需要加上虚拟机参数

1.5以前版本(1.5以后也可用):【-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 】

1.5及以上版本:【 -agentlib:jdwp=transport=dt_socket,server=y,address=8000】

F:\Study\eclipsepro\screensnap>java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 -jar screensnap3.jar

连接时远程服务器时,需要在Eclipse中新建一个远程调试程序

这里有一个小地方需注意,连接上的时候貌似不能自动切换到Debug视图,不要以为本机的调试程序没有连接到服务器端。

 

本机作为服务端

同本机作为客户端相比,只需要修改一下“Connection Type”

 

这时Eclipse会进入到等待连接的状态

连接程序使用如下参数即可连接本机服务器,IP地址请用实现IP替换~~

【-agentlib:jdwp=transport=dt_socket,suspend=y,address=127.0.0.1:8000】

F:\Study\eclipsepro\screensnap>java -agentlib:jdwp=transport=dt_socket,suspend=y,address=127.0.0.1:8000 -jar screensnap3.jar

 

远程调试时本地的代码修改可同步到远程,但不会写到远程的文件里,也就是说本地修改会在下次启动远程程序时就没有了,不会影响到下次使用时的远程代码。

 

有关远程调试更详细点的介绍请参考【使用 Eclipse 远程调试 Java 应用程序】

 

 

好像漏了一个断点,异常断点,补一下。

7、异常断点

经常遇见一些异常,然后程序就退出来了,要找到异常发生的地方就比较难了,还好可以打一个异常断点,

上图中我们增加了一个NullPointException的异常断点,当异常发生时,代码会停在异常发生处,定位问题时应该比较有帮助。

7、EXpressions

通过添加表达式 Expressions 来查看各变量的值。  点击右边 “X+Y=?”(Add a new watch expression) 符号。

点击OK 可以查看结果如下:(查看结果相当方便吧,个人感觉比变量窗口更有用!)

分享到:
评论

相关推荐

    myeclipse如何调试

    "MyEclipse 调试技巧" MyEclipse 作为一款功能强大的集成开发环境(IDE),提供了多种调试方式来帮助开发者更好地 debug 代码。下面我们将详细介绍 MyEclipse 中的调试技巧及相关知识点。 调试模式设置 在 ...

    Myeclipse调试java代码.pdf

    6. 调试技巧:在Myeclipse中,有多种调试技巧,包括断点设置、单步调试、变量查看、方法调试等。这些技巧可以帮助开发者快速地调试代码,了解代码的执行过程和结果。 7. Eclipse调试:在Eclipse中,可以使用调试...

    Myeclipse Debug(MyEclipse 调试程序)

    ### MyEclipse Debug(MyEclipse 调试程序) #### 概述 MyEclipse是一款功能强大的集成开发环境(IDE),特别适用于Java EE应用程序的开发。它基于Eclipse平台,并在此基础上增加了诸多实用功能,例如代码编辑器、...

    Myeclipse使用技巧整理

    ### MyEclipse 使用技巧整理 在进行软件开发的过程中,选择合适的集成开发环境(IDE)能够极大地提高工作效率。MyEclipse 是一款基于 Eclipse 的 Java EE 开发工具,它提供了丰富的功能来帮助开发者更高效地完成...

    MyEclipse使用技巧

    《MyEclipse使用技巧深度解析》 MyEclipse是一款强大的Java集成开发环境,深受广大开发者喜爱,尤其在企业级应用开发中占据重要地位。本文将深入探讨MyEclipse的使用技巧,帮助用户提升开发效率,优化开发体验。 ...

    myeclipse使用技巧

    以下是一些关于MyEclipse的使用技巧,旨在帮助你更高效地利用这款工具。 1. **快速启动项目**:在创建新项目时,MyEclipse提供了多种模板,如Java项目、Web项目、动态Web项目等。只需选择合适的模板,填写项目名,...

    myeclipse使用技巧.txt

    ### MyEclipse使用技巧 #### 一、简介 MyEclipse是基于Eclipse IDE平台的一款增强版集成开发环境(IDE),特别适用于Java EE应用程序的开发。它提供了许多强大的功能,如代码编辑、调试、版本控制等,使得开发过程...

    MyEclipse中的js调试

    【标题】: "MyEclipse中的js调试" 在JavaScript开发过程中,调试是必不可少的一环,尤其是在复杂的项目中。MyEclipse,作为一款强大的集成开发环境(IDE),为JavaScript开发者提供了方便的调试工具。本文将深入...

    Myeclipse断点调试

    #### 六、其他高级调试技巧 1. **条件断点 (Conditional Breakpoint)** 可以为断点设置条件,只有当满足这些条件时才会触发断点。 - 设置方法:在断点属性中设置条件表达式。 2. **线程挂起 (Suspend Thread)**...

    myeclipse调试方法

    ### MyEclipse调试基础 #### 1. 启动调试模式 首先,打开一个Java项目或类文件,在你想开始调试的地方设置断点。断点通常用一个小红点表示,当你点击行号时会自动添加或删除。设置好断点后,右击并选择“Debug As...

    myeclipse远程调试(java project)附说明文档

    - 调试技巧和最佳实践 总之,MyEclipse的远程调试功能极大地提高了开发效率,特别是在处理分布式系统和生产环境问题时。掌握这项技能对于任何Java开发者来说都是非常有价值的。通过阅读提供的"remote_debug"文档,...

    MyEclipse使用技巧和快捷键

    ### MyEclipse 使用技巧与快捷键详解 #### 一、MyEclipse简介及优化设置 MyEclipse是一款基于Eclipse的强大的集成开发环境(IDE),主要用于Java Web应用开发。它集成了众多工具和服务,能够帮助开发者高效地进行...

    MyEclipse超级技巧集合

    ### MyEclipse超级技巧集合 #### 一、简介与背景 MyEclipse是一款深受开发者喜爱的集成开发环境(IDE),它基于Eclipse平台,并且针对Web应用开发进行了大量的功能增强和优化。对于初学者和经验丰富的开发者来说,...

    Java开发基础测试知识点分享.pdf

    6. **Eclipse/MyEclipse调试技巧**: - 设置断点:在代码左侧栏双击设置。 - 调试步骤:设置断点→启动调试→单步调试(F5、F6、F7、F8用于不同类型的调试)→观察变量变化→发现问题并修复。 - 变量值修改:在...

    使用 Myeclipse 8.5 调试 CAS 3

    - 博文链接:参考给定的博客链接(https://llhdf.iteye.com/blog/764385),可能包含了一些具体的调试技巧或常见问题的解决方案。 总的来说,使用 MyEclipse 8.5 调试 CAS 3 的过程涉及到项目导入、环境配置、调试...

    myeclipse6.0使用说明

    教程会详细解释如何设置断点、单步执行、查看变量值等调试技巧,帮助开发者更好地理解和修复程序中的问题。 总之,《MyEclipse 6.0使用说明》全面覆盖了MyEclipse的各项核心功能,从基础操作到高级特性,为开发者...

    myEclipse10配置文件

    5. **调试设置**:断点设置、调试器选项等。 6. **版本控制**:如Git或SVN的插件设置,包括用户名、密码缓存等。 7. **窗口布局**:工作区的视图位置、布局定制。 8. **偏好设置**:如语言包、错误报告设置、更新...

Global site tag (gtag.js) - Google Analytics