Debug视图
认识debug视图,红色部分框为线程堆栈视图,黄色部分框为表达式、断点、变量视图,蓝色部分为代码视图。
线程堆栈视图
分别介绍一下这几个按钮的含义:
1.表示当前实现继续运行直到下一个断点,快捷键为F8。
2.表示打断整个进程
3.表示进入当前方法,快捷键为F5。
4.表示运行下一行代码,快捷键为F6。
5.表示退出当前方法,返回到调用层,快捷键为F7。
6.表示当前线程的堆栈,从中可以看出在运行哪些代码,并且整个调用过程,以及代码行号
变量视图
1.为变量名视图,显示当前代码行中所有可以访问的实例变量和局部变量
2.显示所有的变量值
3.可以通过该窗口来改变变量值
断点视图
1.显示所有断点
2. 将当前窗口1中选中的端口失效,再次点击启用。
3.异常断点
表达式视图
表达式视图:表达式视图是Debug过程中较为常用的一个视图,可以对自己的感兴趣的一些变量进行观察,也可以增加一些自己的表达式,也可以查看一行代码的运行结果。
1.表达式
2. 点击此可以新增一个表达式
代码视图
代码视图:用来显示具体的代码。其中绿色部分是指当前将要执行的代码
场景一:小明辛苦了两天终于将自己的负责的任务完成了,第二天转测后,测试找到了小明说,小明的程序有bug,可以是小明经过仔细调试,发现本地没有任何问题,但是测试的环境上确实有问题,所以小明遇到了难题,测试的环境linux,又不能上去linux去debug,小明这个时候想要是Linux也可以debug就好了.
远程debug
远程debug:远程debug顾名思义,能够将远程操作系统上的任何java进行debug,但是有前提是本地需要有同步的代码。
1.远程debug的步骤是在远程操作系统上启动java进程时增加特殊的
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=n
2.在Eclipse中新建一个Remote Java Application
远程debug
1.打开Debug Configurations视图
2.右击Remote Java Application,
New
3.选择源码工程
4.输入远程IP和端口,端口即服务
端的$DEBUG_PORT,点击OK。
场景一:小明写了一个任务执行者,该执行者不间断的执行一些任务,在现网上运行了一段时间后,发现有概率的出现一些故障,发现运行一段时间后,该任务者异常退出了,退出的因为是空指针,可以小明想要在本地debug,不知道断点打在哪里,该问题是概率事件,不一定会出现,所以小明debug几遍下来后,头晕眼花,连代码都看不清楚了,小明想要是能有个断点每当出现空指针异常的时候就停下来让他发现问题,那该多好呀。
异常断点
异常断点:在定位问题的过程中,常常会遇到断点无法打到合适的位置,以至于和问题的触发点千差万别,所以这个时候不妨试试异常断点,顾名思义,异常断点是指抛出某种异常后自动挂起的断点。
点击红色部位,增加一个异常断点
输入想要定位的异常类型,例如NullPointerException,这样系统中抛出任何NullPointerException异常后,都会挂起当前线程,给你机会去定位问题。
场景一:小明写了一个巨大的循环,在调测代码时,小明发现每当循环到第100000次的时候,就是出现问题,没有达到自己的预期,于是小明在循环里打了个断点,想看看到底怎么回事,可小明万万没有想到,想要到达100000次循环是多么的困难,小明这个时候已经开始浮想联翩,如果能有这样的断点:
If 循环次数== 100000,线程停下来
条件断点
如右图,循环1000次,如果想要在循环到500
次的时候停下来,可以创建一个条件断点,右
击断点悬着Breakpoint Properties。
选中Enable Condition
在空白处,添加你自己的条件,如果条件返回true,线程会被挂起,如果为false,则忽略该异常
Hit Count为该断点经过多少次后,正式挂起线程,如果设置为500,则表达前499次,经过该断点都不会停下,当第500次,该断点会挂起当前线程。
表达式
表达式可以查看一些在当前代码中没有的命令行,方便定位问题。
场景一:小明最近遇到一个难题,在调用一个第三方插件时总是会有问题,小明怀疑是第三方插件的bug,但小明没有找到源码不能进行debug,小明该怎么办呢?
Debug定位第三方插件的问题
1.使用反编译工具将代码反编译
2.将反编译后的源码进行过滤
3.修复源码编译错误
4.进行debug
Debug一些经验
1.尽量减少debug,少用debug,优秀的程序员总是花80%的时间来思考如何解决问题,20%的时间来动手完成代码,而糟糕的程序员总是用20%的时间去写代码,80%的时间去调试代码,动手之前尽量想好如何去做,并且已经为你自己的思路做了充分的实验。
2.尽可能的提高debug的效率,设置合适的断点,使用快捷键。
3.debug的F6快捷键经常用到,它与金山词霸的快捷键冲突,所以在debug的时候最好将金山词霸关掉。
4.debug的表达式是可执行代码,将会对代码结果产生永久性影响,在调试时注意,经常将不用的表达式清除掉。
相关推荐
10. **其他高级技巧** - 使用条件断点,只在满足特定条件时暂停程序。 - 调试远程应用,通过JVM远程调试接口连接到运行中的应用程序。 - 利用 Watches 观察特定表达式的值变化。 总之,熟练掌握Eclipse的调试...
### Eclipse的Debug介绍与技巧 #### 一、Eclipse调试介绍 在软件开发的过程中,调试是必不可少的一个环节。几乎所有的程序开发都会面临错误排查的问题,因此掌握高效的调试技巧至关重要。Eclipse作为一款广泛使用...
### Eclipse中的Debug技巧详解 #### 一、概述 在软件开发过程中,调试是必不可少的一环。Eclipse作为一款广泛使用的集成开发环境(IDE),提供了丰富的调试功能,可以帮助开发者高效地定位和解决代码中的问题。...
### Eclipse Debug 技巧详解 #### 一、概述 在软件开发过程中,调试是不可或缺的一环,它能够帮助开发者快速定位并解决问题。Eclipse作为一款流行的集成开发环境(IDE),提供了丰富的调试工具来辅助开发者进行...
### Eclipse的Debug调试技巧详解 #### 一、Debug视图概览 Eclipse IDE 提供了一个强大的调试工具,可以帮助开发者高效地找出并修复程序中的错误。本文将详细讲解Eclipse中Debug视图的功能及其使用技巧。 #### 二...
除此之外,Eclipse的调试工具还提供了一些高级特性: 5. **Resume (F8)**:当你希望继续执行程序直到遇到下一个断点时,可以使用Resume。在调试过程中,如果发现某个断点不再需要,可以移除它,然后使用Resume,程序...
本文旨在帮助那些刚从学校步入社会的开发人员以及那些尚未充分利用Eclipse高级调试功能的朋友,更好地理解并运用Eclipse中的调试工具。接下来,我们将详细介绍几种常用的Eclipse调试技巧。 #### 二、条件断点 **...
Eclipse是一款广泛使用的开源集成开发环境(IDE),尤其在Java编程领域中占据着重要的地位。其强大的调试功能是开发者...同时,Eclipse的其他高级特性如内存分析、远程调试、JUnit测试调试等也是值得深入研究的领域。
### Eclipse Debug调试工具详解 #### 一、Eclipse Debug调试工具概述 Eclipse是一款非常流行的开源集成开发...此外,随着对Eclipse Debug工具的深入了解,开发者还可以发掘更多高级功能,进一步提升自己的开发技能。
Eclipse作为一款强大的Java开发集成环境,其调试功能十分强大,对于初学者或者未充分利用其高级特性的开发者来说,掌握这些技巧可以极大地提高工作效率。以下是一些Eclipse调试中的关键点: 1. **条件断点**: ...
Eclipse的Debug模式还提供了其他一些高级特性,例如Watch Expressions(监视表达式),可以实时查看特定变量或表达式的值;Variables视图显示当前作用域内的变量值;Call Stack(调用栈)显示了函数调用的顺序。此外...
以上只是Eclipse调试功能的一部分,还有更多高级特性如 watches(监视表达式)、step filters(跳过特定类或方法的调试)、线程切换等,都可以极大地提升调试体验。熟练掌握这些技巧,可以使你更高效地定位和修复...
### Java Debug技巧:Eclipse高级调试指南 #### 一、引言 在软件开发过程中,调试是必不可少的一个环节。良好的调试技巧能够显著提高问题定位的速度和准确性,从而提升整体的开发效率。Eclipse作为一款非常受欢迎...
在软件开发过程中,使用高效的工具和技巧可以极大地提高工作效率。Eclipse作为一款流行的集成开发环境(IDE),提供了丰富的功能来帮助开发者编写、调试和管理代码。本文将详细介绍Eclipse中的断点调试快捷键及其...
在IT行业中,调试(debug)是开发过程中的关键...例如,在Visual Studio、Eclipse、IntelliJ IDEA等IDE中,都有强大的debug功能供开发者使用。熟练掌握这些技巧,能显著提高开发效率,减少软件缺陷,从而提升产品质量。
### Eclipse 使用技巧详解 #### 一、Tab 设置与调整 在使用 Eclipse 进行编程时,对于 Tab 的设置非常重要,因为它直接影响代码的可读性和美观性。以下是如何针对不同的文件类型进行 Tab 设置的方法: 1. **HTML ...
本文将基于提供的文件内容,深入解析Eclipse的一些高级使用技巧,帮助开发者提升工作效率,优化编程体验。 #### 快速代码补全与模板 在编写代码时,快速的代码补全可以显著提高效率。Eclipse通过快捷键`Shift + ...
这可以通过Eclipse的**Run/Debug Configurations**对话框中的相关设置来实现。 #### 十一、环境变量 在Eclipse中,可以通过**Edit Configuration**对话框轻松添加环境变量。这对于需要根据不同环境调整程序行为的...