Eclipseeclipse设置断点调试试中有一个“use step filters”,怎么使用?

eclipse调试以及step into step over step return区别 -
- ITeye技术网站
博客分类:
首先来讲一下step into step over step return的区别:
step into就是单步执行,遇到子函数就进入并且继续单步执行;(F5)step over是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。(F6)
step return就是单步执行到子函数内时,用step return就可以执行完子函数余下部分,并返回到上一层函数。(F7)
step into:进入子函数step over:越过子函数,但子函数会执行step return:跳出子函数
最基本的操作是: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跳出此method4.step Filter 逐步过滤 一直执行直到遇到未经过滤的位置或断点(设置Filter:window-preferences-java-Debug-step Filtering)5.resume 重新开始执行debug,一直运行直到遇到breakpoint6.hit count 设置执行次数
适合程序中的for循环(设置 breakpoint view-右键hit count)7.inspect 检查 运算。执行一个表达式显示执行值8.watch 实时地监视变量的变化
9.我们常说的断点(breakpoints)是指line breakpoints,除了line breakpoints,还有其他的断点类型:field(watchpoint)breakpoint,method breakpoint,exception breakpoint.10.field breakpoint 也叫watchpoint(监视点) 当成员变量被读取或修改时暂挂11.添加method breakpoint 进入/离开此方法时暂挂(Run-method breakpoint)12.添加Exception breakpoint 捕抓到Execption时暂挂(待续...)断点属性:
1.hit count 执行多少次数后暂挂 用于循环
2.enable condition 遇到符合你输入条件(为ture\改变时)就暂挂
3.suspend thread 多线程时暂挂此线程
4.suspend VM 暂挂虚拟机
13.variables 视图里的变量可以改变变量值,在variables 视图选择变量点击右键--change value.一次来进行快速调试。14.debug 过程中修改了某些code后--〉save&build--&resume--&重新暂挂于断点
azrael6619
浏览: 289894 次
来自: 杭州
你好,我用的是ireport4.5.1,子表一直无法显示
ireport实用性上没有帆软报表好用
破解版不行了,要注册才行
得到某个类的静态属性好像用你的方法不对啊,只能使用暴力反射吗? ...
麻烦问一下,在运行freetts中文例子时,报错:转换准备完成 ...图解Ubuntu + Eclipse + JLink + arm-linux-gcc 配置_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
图解Ubuntu + Eclipse + JLink + arm-linux-gcc 配置
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢当前访客身份:游客 [
这个人很懒,啥也没写
:"&!-- 一些段落 --& &p&foo&/p& &p&bar&/p&" 这里...
:5、当1端口的Memcached重启复活,连接...
:楼主的排版,说真的,看起来好累人。
:很详细的,收藏了。
:请问怎么配置webstorm使用oschina的git?...
:import java.io.F import java.io.IOExcepti...
:请问是java编写的么
:配色方案确实很不给力这个,这点sublime确实好很...
今日访问:110
昨日访问:89
本周访问:306
本月访问:1991
所有访问:139076
Eclipse 调试器:零距离接触实战技巧
发表于4年前( 16:25)&&
阅读(259)&|&评论()
0人收藏此文章,
调试的方法虽然千千万万,但归根结底,就是找到引发错误的代码。Eclipse调试器的目标是让程序员能对本地或远程程序进行错误侦测与诊断。
调试的方法虽然千千万万,但归根结底,就是找到引发错误的代码。Eclipse调试器的目标是让程序员能对本地或远程程序进行错误侦测与诊断。该调试器提供所有标准调试功能,包括进行单步执行、设置断点和值、检查变量和值以及暂挂和恢复线程的能力。这篇文章主要讲述Eclipse调试器,包括Debug视图,断点的设置,Java代码的调试等等。与一些理论性较强的文章相比,本文更注重实践,为读者提供更加使用的调试技巧。
Eclipse 调试器
Eclipse 平台的最大特色是插件化(Plugin)。调试是任何程序员都无法回避的工作。因此Eclipse的内置插件Java开发工具包(Java Development Toolkit,简称JDT)中集成了一个功能强大的Java调试器(Debugger)。实际上,JDT是Eclipse工作平台(Eclipse Platform Workbench)的基础工具,除了调试器,还提供透视图、视图、编辑器、搜索等Eclipse基础功能。
由于Eclipse调试器采用了基于客户端/服务器的设计模式,远程应用的调试变得与本地一样简单。其工作原理是,本地Eclipse工作平台充当调试的客户端,而远程应用所在的机器则充当了调试服务器的角色。
Debug 视图
Debug视图作为Eclipse调试器透视图的一部分,管理与程序调试相关的功能。如图所示,Debug视图呈树状结构,每一个线程对应一树节点。图中显示的是暂挂线程Main的调试堆栈帧结构。
作为标准的Java调试平台,Debug视图提供了许多执行控制命令(Execution Control Commands),用于在程序中设置/取消断点,单步执行,暂挂与恢复线程。以下是一些常用的执行控制命令:
1. Layout布局
Debug视图的布局与断点调试等主体功能相比,显得并不那么乍眼,因此也常被人忽略,不过Eclipse的魅力之一就是它的细节做的特别完美。我们简单介绍一下Debug视图布局的特点,如图所示。
第一个特点是Automatic功能。选择菜单选项Layout -& Automatic,可以实现Debug视图在树状模式与Breadrumb模式之间的自动互换。相信很多编程人员都喜欢Breadrumb模式,向面包片一样,一层一层的,直观,醒目。
Layout菜单的第二个特点Breadrumb模式。选择菜单选项Layout -& Breadcrumb,打开Breadrumb模式。除此之外,选择菜单选项Layout -& Auto-Expand Breadcrumb,可实现自动展开Breadrumb模式。当选择下拉框时,可自动定位到暂挂线程的调试堆栈帧。这个细节对于编程人员来说,也是非常的方便。
2. 调试启动停止等相关命令
Debug视图提供了诸多的启停控制命令,叫法上与其它的调试器可能稍微有些不同,具体如下:
启动调试视图:Eclipse提供三种方式来启动程序(Launch)的调试,分别是通过菜单(Run –& Debug)、图标(“绿色臭虫”)以及快捷键(F11),在这一点上,与其他命令(例如Run)类似。
停止调试:Eclipse通过Terminate命令终止对本地程序的调试。特别的,对于远程程序的调试,Eclipse使用 Disconnect命令来终止与远程JVM的socket连接。前面我们谈到,Eclipse调试器采用了基于客户端/服务器的设计模式,本地 Eclipse工作平台充当调试的客户端,而远程应用所在的JVM则充当了调试服务器的角色。简单的说,Terminate命令终止本地调试,Disconnect命令终止远程调试。Terminate/Disconnect All终止所有的调试,包括本地与远程。
重新启动调试:Eclipse通过Relaunch命令重新启动调试。这里需要指出的是Relaunch支持两种重启动模式,一种是针对已经停止的程序调试,另一种是针对Active的当程序调试。前者不难理解,效果上等同于Terminate+Launch。后者的处理方式有些不同,效果上则等同于Launch一个新的Debug项。实际上,针对后一种情况,我们通常采用Eclipse的Terminate and Relaunch命令来达到重启Debug的目的。
删除调试项:Eclipse支持针对多个程序的调试。我们称每一项对应一个Debug Item。Remove命令将某一个Debug Item从当前的Debug视图中删除。不过,Remove命令只适用于已停止的Debug Item,而对于运行中的Debug Item,Eclipse提供了Terminate and Remove命令。假如想停止并清除所有的Debug Item,则可以通过Terminate and Remove All命令。此外,Eclipse还提供了Copy Stack命令或者快捷键Ctr+C,可将调试堆栈帧内容拷贝至剪贴板中,这样效果上就等同于“撤销”。
以上这些命令虽然有些琐碎,但是非常能反映Eclipse对细节的把握与控制。
3. 单步执行
相信任何调试人员对单步调试非常的熟悉。Eclipse提供step into、step over、 step return三个命令来支持单步调试。三者的具体区别是:step into(快捷键F5)就是单步执行,遇到子函数就进入并且继续单步执行;step over(快捷键F6)是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。 step return(快捷键F7)就是单步执行到子函数内时,用step return就可以执行完子函数余下部分,并返回到上一层函数。说的通俗点就是,step into:进入子函数,step over:越过子函数,但子函数会执行,step return:跳出子函数。
此外,Eclipse还提供了Run to line(快捷键Ctr + R)功能,从开始处运行程序,到正在执行的断点暂停。
4. Drop to Frame
Drop to Frame功能虽然不属于单步调试的核心,但是该功能非常的适用,它为调试人员提供了调试回退的机会。Drop to Frame可以重新跳到当前方法的开始处重新执行,并且所有上下文变量的值也相应回到初始时刻,如图所示。
5. Step Filters
当在你调试的时候,你只希望查看自己的代码,而不是从JDK或者是其他库中的代码,甚至是你也想屏蔽自己代码库中的框架部分代码。
针对这样的需求,Eclipse提供了逐步过滤器(Step Filters)选项指的是一直执行直到遇到未经过滤的位置或断点。Step Filters功能由Use Step Filters,Edit Step Filters,Filter Type,Filter Package四项组成。
具体操作如下:
步骤 1: Windows -& Preferences -& Java -& Debug -& Step Filtering.
步骤 2:选择‘Use Step Filters’.
步骤 3:在屏幕上选中所需的选项。你可以添加你自己代码库中的部分代码。
步骤 4:点击‘Apply’.
原理上,Edit Step Filter命令用于配置Step Filter规则,而Filter Type与Filter Package分别指的是过滤的Java类型与Java Package,如图所示。
6. 声明选项
Open Declared Type命令会打开当前调试堆栈帧的类型声明编辑器。而Open Declared Type Hierarchy则展现的是完整的层次结构,如图所示。
7. 线程的暂挂/恢复
Eclipse通过Suspend与Resume来支持线程的暂挂与恢复。一般来讲,Suspend适用于多线程程序的调试,当需要查看某一个线程的堆栈帧及变量值时,我们可以通过Suspend命令将该线程暂挂。Resume用于恢复。有两种Resume需要注意:第一是当在调试过程中修改程序代码,然后保存,点击Resume,此时程序会暂挂于断点。第二是当程序抛出异常时,运行Resume,程序也会暂挂于断点。
8. Show Monitor命令
Show Monitor命令可实时显示变量的值。举个例子,我们写一个简单的HelloWorld程序。
以下是代码片段: /**
* Hello World
public class HelloWorld {
public static void main(String[] args) {
Line 11: Object mutex = new Object();
synchronized (mutex) {
System.out.println(&Hello World!&);
如图所示,Show Monitor对应的监视信息会以“钥匙”的形式出现在当前stack frame前面。当前信号量的id为16。
更多开发者职位上
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读Eclipse 调试器:零距离接触实战技巧_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
Eclipse 调试器:零距离接触实战技巧
E&#8203;c&#8203;l&#8203;i&#8203;p&#8203;s&#8203;e&#8203; &#8203; &#8203;软&#8203;件&#8203;的&#8203;应&#8203;用
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢

我要回帖

更多关于 eclipse如何断点调试 的文章

 

随机推荐