Eclipse调试java程序的九个技巧

1.逻辑结构

逻辑结构主要用来展示map之类的collection数据结构存储的值的,它只展示存储值的逻辑部分,而屏蔽了数据结构详细的内部结构,更方便我们查看map之类collection结构里存储的值,推荐使用。

这个按钮就是是展示逻辑结构的按钮,下面两个图,上图是不展示逻辑结构,下图是展示逻辑结构,很明显,下图的结构可读性更强,可以专注于debug的变量。

Eclipse调试java程序的九个技巧

Eclipse调试java程序的九个技巧

2.条件debug

条件debug用在需要满足某种条件才会触发断点的场景,比如只有id是12345这条记录会有问题,那就当id等于12345时才触发断点,其他都放过。

右击断点选择断点属性,就能看到这样一个配置框,右边的文本区块可以填写条件代码,比如id=12345,由于每次都要做这个判断,如果循环数很大的话,会影响速度,你可以去接个水,刷刷知乎什么的,还是很方便的。

Eclipse调试java程序的九个技巧

3.异常断点

异常断点只要用在debug某种异常的时候,可以配置当这个异常出现后才触发断点,不需要debug去寻找异常。

点击下图中的红圈按钮,就能弹出异常断点的窗口,会列出你系统里的所有异常类,然后选择需要断点的异常就OK。

Eclipse调试java程序的九个技巧

4.单步过滤

单步过滤的场景是我们在使用F5来跟某个方法内部的时候,经常会跟到一些我们确定不需要看的方法内部。

this.getTradeDetail(uid, itemStr.subString(0, 5))

比如上面这行代码,想F5进入getTradeDetail内部,会首先执行itemStr.subString方法,而这方法是jdk的String方法,确定没有问题,不需要关心,单步过滤就是跳过这些我们想忽略的方法,直接到达目标方法内部的一种debug技巧。

在Window>PreferencesJava>Debug>StepFilTering设置过滤器,可以选择需要过滤的包和类。同时确保你在debug视图中启用了单步过滤,如下图。这样在使用单步调试的时候,就会使用到这个过滤功能。

下图是过滤器配置,典型的就是把jdk的一些类和包配置过滤。

Eclipse调试java程序的九个技巧

下图是要在debug时候开启单步过滤,否则不生效。

Eclipse调试java程序的九个技巧

5.跳到帧

跳到帧是一种重要技巧,在debug时,eclipse可以直接跳到调用栈中指定的任意帧,并且使JVM在此处重新运行。这使你可以重新运行你的代码,而不需要为了调试之前的代码而重新来一下。

要注意的是:已经被修改的变量不会被重置,他们会保留当时的值。

使用方式:选择调用栈中的一帧,点击按钮“跳到帧”

Eclipse调试java程序的九个技巧

6. Inspect

inspect用来查看某个表达式的之,对于变量值debug很容查看,但是对于一个表达式的值就不容易查看,还是这句:

this.getTradeDetail(uid, itemStr.subString(0,5))

想 看getTradeDetail的值,就没法想看变量值一样(虽然这个很有可能是赋值给一个变量...),要看这种表达式值,就需要inspect,具体 做法是选中这行表达式,然后右击->inspect,或者更方便的快捷键组合:ctrl+shift+i,会弹出如下的展示表达式结果的框:

Eclipse调试java程序的九个技巧

7. expressions

expressions窗口也是用来看变量或者表达式的值的,在windows->show viewz中打开expression窗口,然后在里面添加你想观察的表达式,比如还是这句:

this.getTradeDetail(uid, itemStr.subString(0,5))

然后debug的时候,就能看到被添加的表达式结果了,另外也能根据需要改value的值。

8. display

display 也是用来观察和修改变量or表达式的,这个应该用的人比较多,在windows->show viewz中打开display窗口,可以在display窗口里写表达式,然后右击选择display运行查看结果或者ctrl+shift+D快捷键 组合,表达式可以是程序中一行代码或者你自己写的一个赋值语句来改变变量值之类的。

Eclipse调试java程序的九个技巧

 

9. 远程debug

远程debug可以用来调试远程服务器上的代码,保证你本地代码和远程部署的代码是一致,就可以通过这种方式debug服务器代码,这个是java web开发的一大利器,否则定位服务器问题简直是灾难。

远 程debug需要服务器端启动jvm的时候做一些开启和端口的配置,具体的配置网上很多,搜一下即可。然后在本地的debug configuration中双击添加一个remote java application,填写远程主机的host和配置的debug端口,就可以开始debug了,如下图:

Eclipse调试java程序的九个技巧

转载于:https://my.oschina.net/u/998410/blog/841189

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值