在eclipse中进行调试

在eclipse中进行调试

ID:13822321

大小:283.00 KB

页数:6页

时间:2018-07-24

在eclipse中进行调试_第1页
在eclipse中进行调试_第2页
在eclipse中进行调试_第3页
在eclipse中进行调试_第4页
在eclipse中进行调试_第5页
资源描述:

《在eclipse中进行调试》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、4.4在Eclipse中进行调试(1)4.4 在Eclipse中进行调试Eclipse为调试运行中的Java应用程序提供了完善的环境。当在主机模式下运行GWT应用程序时,Eclipse会将它作为一个Java应用程序来运行,而且开发者可以在Eclipse中调试这个GWT应用程序。对于Ajax开发过程来说,能够调试基于浏览器的Web应用程序的确是一种巨大的进步。本章前面,我们看到使用applicationCreator脚本和-eclipse选项来创建应用程序时,会自动地创建一个Eclipse启动配置文件。然后,通过Eclips

2、e就能在主机模式下用Run或Debug命令来启动该应用程序。启动以后,主机模式浏览器仍然与Eclipse保持连通,并且能够使用Eclipse的调试命令。首先,我们从断点讲起。断点是指在代码中设置的一个位置,当执行到该位置时,应用程序会中断运行并将控制权转交给调试器。这样,我们就能够观察变量的状态或者逐行地执行代码以便于分析程序流。为了示范断点的应用,可以在HelloWorld应用程序中按钮的ClickListener.onClick方法的第一个行添加一个断点。设置方法是在编辑器中该行的左侧边空区域单击右键,选择Toggle

3、Breakpoint,如图4-24所示。 图4-24设置断点这时,我们能够在左侧边空区域上看到由一个蓝色圆点图标表示的断点。而通过在该边空区域上双击同一个点可以切换断点。现在,当调试应用程序时,Eclipse会在程序执行到断点时接管调节器。对于HelloWorld这个例子而言,就是在单击按钮的时候程序会发生中断。下面,单击工具栏上的Bug图标,打开Debug菜单,从中选择HelloWorld,如图4-25所示。 图4-25启动调试器当在主机模式浏览器中打开HelloWorld时,单击ClickMe按钮,就能够看到Eclip

4、se显示的调试器。此时,应该看到Eclipse处于Debug透视图模式,如图4-26所示。假如你打算构建像样的Ajax应用程序,那么就应该学会使用这个视图。在这个视图中,能够看到应用程序运行时的各个方面。如果应用程序运行出现了问题,那么可以通过设置断点来查找原因。JavaScript开发者可能会对这种调试工具感到比较陌生,因为它看起来似乎很复杂。然而,因为这个工具能够节省大量查找错误的时间,所以掌握它的使用是非常有必要的。同过去要打印和分析日志相比,在这里只需设置几个断点然后单步调试,甚至每次只执行一行代码,与此同时可以检

5、查变量的值并确定错误所在。下面介绍Debug透视图中的一些工具。首先,看一看Debug窗格上方的一排按钮。其中,绿色的箭头和红色的方块分别表示Resume(继续)和Terminate(终止)。单击Resume可以继续执行程序。在图4-26中,程序在断点处停止了执行。而单击Terminate按钮则会终止调试会话。一般来说,我们都通过关闭主机模式浏览器的窗口来结束程序。但在断点模式下,应用程序处于停止状态,因而无法访问主机模式浏览器的界面。此时,结束程序的唯一方法就是使用Terminate按钮。在Resume和Terminat

6、e按钮旁边的黄色箭头,用于单步调试应用程序。当应用程序停止在一个断点处时,可以一步一步地执行代码。这样,开发者就能够看到执行每一步代码对变量所产生的影响。从另一个角度来说,这相当于延长了程序的执行时间,从而使开发者能够通过“慢镜头”来观察程序的执行流。第一个步进按钮是StepInto,单击该按钮会调用当前行的下一个方法。一般来说,这会导致执行流转移到另一个方法中,同时在堆栈中添加一行。当希望程序的执行流进入一个方法时,可以使用这个按钮。如果不想进入另一个方法,可以使用下一个步进按钮StepOver,这个按钮用于执行当前代码

7、行、调用任何方法并停止在当前方法中的下一行。第三个黄色的按钮是StepReturn,它用来执行当前方法中其他的代码并返回调用方法,然后停止。 图4-26Eclipse中的调试透视图4.4在Eclipse中进行调试(2)在调试控件的下方是调用堆栈。事实上,这就是一个Java应用程序中线程的树形列表,而相应的堆栈则是这个列表中的子项目。只有当线程停止在一个断点处时,才会出现这些堆栈。Ajax应用程序是单线程的,因此我们只需关注其中的一个线程和相应的堆栈即可。当解释程序在onClick方法中遇到断点时,单个JavaScript线

8、程会显示出它的方法调用堆栈,而当前方法被突出显示。通过这个堆栈窗格,能够很方便地看出某个方法是在何时以及何处被调用的。通过单击其他方法,可以在编辑器中查看它们的代码。当以这种方式浏览堆栈时,Debug透视图会自动调整以反映堆栈中当前选中的行。例如,编辑器会显示选中方法中调用子方法的那行代码。当然,变量浏

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。