在eclipse平台中,eclipse怎么输入参数数,进行编译

Eclipse 平台入门:使用 Eclipse 插件来编辑、编译和调试应用程序
Eclipse 平台入门:使用 Eclipse 插件来编辑、编译和调试应用程序
  简介: 本文为您提供关于 Eclipse 平台的概述,包括其起源和体系结构。本文首先简要讨论 Eclipse 的开放源代码性质及其对多种编程语言的支持,然后通过一个简单的程序例子展示 Java 开发环境。本文还将考查以插件扩展形式可用的一些软件开发工具,并展示一个用于 UML 建模的插件扩展。
  相关阅读:
  Ubuntu 12.04搭建Android开发环境
  从GitHub将Maven项目导入Eclipse4.2
  Eclipse SDK 4.2.2/Equinox 3.8.2 发布
  Eclipse 是什么?
  Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。
  虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
  这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
  基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。
  Eclipse 是开放源代码的软件
  开放源代码软件是这样一种软件,它们在发布时附带了旨在确保将某些权利授予用户的许可证。当然,最明显的权利就是源代码必须可用,以便用户能自由地修改和再分发该软件。这种用户权利的保护是通过一种称为 copyleft的策略来完成的:软件许可证主张版权保护,除非明确授予用户这样的权利,否则用户不得分发该软件。copyleft 还要求同一许可证涵盖任何被再分发的软件。这实际上倒置了版权的目的&&使用版权来授予用户权利,而不是为软件的开发者保留版权&&copyleft 经常被描述为&保留所有版权&。
  曾经四处蔓延的对开放源代码软件的许多恐惧、担忧和疑虑,都与某些 copyleft 许可证的所谓&病毒&性质有关&&如果使用开放源代码软件作为您开发的程序的一部分,您将失去自己的知识产权,因为该许可证将&传染&您开发的专有部分。换句话说,该许可证可能要求与开放源代码软件一起打包的所有软件,都必须在相同的许可证之下发布。虽然这对最著名的 copyleft 许可证(即 GNU 通用公共许可证,例如 Linux 就是在该许可证之下发布的)来说可能是事实,当时还有其他许可证在商业化和社区考虑之间提供了较好的平衡。
  开放源代码计划(Open Software Initiative)是一家非营利机构,它明确定义了开放源代码的含义及满足其标准的认证许可证。Eclipse 是在 OSI 认可的通用公共许可证(CPL)1.0 版之下被授予许可证的,CPL&旨在促进程序的商业化使用&&&(欲获得指向通用公共许可证 1.0 版完整文本的链接,请参阅本文稍后的 参考资料)。
  为 Eclipse 创建插件或将 Eclipse 用作软件开发应用程序基础的开发人员,需要发布他们在 CPL 下使用或修改的任何 Eclipse 代码,但是他们可以自由决定自己添加的代码的许可证授予方式。与出自 Eclipse 的软件一起打包的专有代码不需要作为开放源代码来授予许可证,该源代码也不需要提供给用户。
  尽管大多数开发人员不会使用 Eclipse 来开发插件,或创建基于 Eclipse 的新产品,但是 Eclipse 的开放源代码性质所意味的,并不只是它使得 Eclipse 免费可用(尽管便于商业化的许可证意味着插件可能要花钱)。开放源代码鼓励创新,并激励开发人员(甚至是商业开发人员)为公共开放源代码库贡献代码。对此存在许多原因,不过最本质的原因或许是为这个项目作贡献的开发人员越多,这个项目就会变得对每个人都越宝贵。随着这个项目变得更加有用,更多的开发人员将会使用它,并围绕它形成一个社区,就像那些围绕 Apache 和 Linux 形成的社区一样。
  Eclipse 是什么机构?
  协会管理和指导 Eclipse 正在进行中的开发。在据说 IBM 花了 4000 万美元开发 Eclipse,并把它作为一个开放源代码项目发布之后, 协会吸收了许多软件工具提供商,包括 Borland、Merant、Rational、RedHat、SUSE、TogetherSoft 和 QNX。从那以后还有其他公司相继加入,包括 Hewlett Packard、Fujitsu、Sybase。这些公司分别向理事会派了一名代表,这个理事会负责确定 Eclipse 项目的方向和范围。
  在最高层,项目管理委员会(Project Management Committee,PMC)管理着 Eclipse 项目。这个项目被划分为多个子项目,每个子项目都有一名负责人。大型子项目又被划分为组,每个组也有一名负责人。目前,这其中的大多数管理角色都由最初开发 Eclipse 的 IBM 子公司 Object Technology International (OTI)的人担任,但是作为一个开放源代码的项目,它欢迎任何人的参与。任何特定部门的职责是通过该部门对项目的贡献来争取的。
  现在我们已经考察了 Eclipse 背后的一些理论、历史和管理,下面让我们考察该产品本身。
  接下来请看第2页精彩内容:   Eclipse 工作台
  在第一次打开 Eclipse 时,首先看到的是下面的欢迎屏幕:
  图 1. Eclipse 工作台
  Eclipse 工作台由几个称为 视图(view)的窗格组成,比如左上角的 Navigator 视图。窗格的集合称为 透视图(perspective)。默认的透视图是 Resource 透视图,它是一个基本的通用视图集,用于管理项目以及查看和编辑项目中的文件。
  Navigator 视图允许您创建、选择和删除项目。Navigator 右侧的窗格是 编辑器区域。取决于 Navigator 中选定的文档类型,一个适当的编辑器窗口将在这里打开。如果 Eclipse 没有注册用于某特定文档类型(例如,Windows 系统上的 .doc 文件)的适当编辑器,Eclipse 将设法使用外部编辑器来打开该文档。
  Navigator 下面的 Outline 视图在编辑器中显示文档的大纲;这个大纲的准确性取决于编辑器和文档的类型;对于 Java 源文件,该大纲将显示所有已声明的类、属性和方法。
  Tasks 视图收集关于您正在操作的项目的信息;这可以是 Eclipse 生成的信息,比如编译错误,也可以是您手动添加的任务。
  该工作台的大多数其他特性,比如菜单和工具栏,都应该和其他那些熟悉的应用程序类似。一个便利的特性就是不同透视图的快捷方式工具栏,它显示在屏幕的左端;这些特性随上下文和历史的不同而有显著差别。Eclipse 还附带了一个健壮的帮助系统,其中包括 Eclipse 工作台以及所包括的插件(比如 Java 开发工具)的用户指南。至少浏览一遍这个帮助系统是值得的,这样可以看到有哪些可用的选项,同时也可更好地理解 Eclipse 的工作流程。
  为继续这个短暂的 Eclipse 之旅,我们将在 Navigator 中创建一个项目。右键单击 Navigator 视图,然后选择 New=&Project。当 New Project 对话框出现时,选择左面的 Java。标准 Eclipse 只有一种 Java 项目类型,名为&Java Project&。如果安装了插件来提供 JSP 和 servlet 支持,我们会从这里看到一个用于 Web 应用程序的附加选项。眼下,请选择 Java Project,在提示项目名称时输入&Hello&,然后按 Finish。
  接下来,我们将检查一下 Java 透视图。取决于您喜欢的屏幕管理方式,您可以通过选择 Window=&Open Perspective=&Java来改变当前窗口中的透视图,也可以通过选择 Window=&New Window,然后再选择这个新的透视图,从而打开一个新的窗口。
  正如您可能预期的那样,Java 透视图包含一组更适合于 Java 开发的视图。其中之一就是左上角的视图,它是一个包含各种 Java 包、类、jar 和其他文件的层次结构。这个视图称为 Package Explorer。还要注意主菜单已经展开了&&并且出现了两个新的菜单项:Source 和 Refactor。  Java 开发环境(JDE)
  为试验一下 Java 开发环境,我们将创建并运行一个&Hello, world&应用程序。使用 Java 透视图,右键单击&Hello&项目,选择 New=&Class,如图 2 所示。在随后出现的对话框中,键入&Hello&作为类名称。在&Which method stubs would you like to create?&下面,选中&public static void main(String[] args)&复选框,然后按 Finish。
  图 2. 在 Java 透视图中创建新类
  这样将在编辑器区域创建一个包含 Hello 类和空的 main() 方法的 .java 文件,如图 3 所示。然后向该方法添加如下代码(注意其中 i 的声明是有意省略了的):
  图 3. Java 编辑器中的 Hello 类
  您会在键入时注意到 Eclipse 编辑器的一些特性,包括语法检查和代码自动完成。在 2.1 版(我曾下载 M2 版来试用过)中,当您键入开括号或双引号时,Eclipse 会自动提供配对的符号,并将光标置于符号对之内。
  在其他情况下,您可以通过按 Ctrl-Space 来调用代码自动完成功能。代码自动完成提供了上下文敏感的建议列表,您可通过键盘或鼠标来从列表中选择。这些建议可以是针对某个特定对象的方法列表,也可以是基于不同的关键字(比如 for 或 while )来展开的代码片断。
  语法检查依赖增量编译。每当您保存代码,它就在后台接受编译和语法检查。默认情况下,语法错误将以红色下划线显示,一个带白 &X& 的红点将出现在左边沿。其他错误在编辑器的左边沿通过灯泡状的图标来指示;这些就是编辑器或许能为您修复的问题&&即所谓的Quick Fix(快速修复)特性。
  上面的代码例子在 for 语句后面有一个灯泡状图标,因为 i 的声明被省略了。双击该图标将调出建议的修复列表。在此例中,它将提供创建一个类字段 i 、一个局部变量 i 或一个方法参数 i 的建议;单击其中的每一个建议都会显示将要生成的代码。图 4 显示了该建议列表和建议创建一个局部变量之后生成的代码。
  图 4. Quick Fix 建议
  双击该建议就会把建议代码插入到代码中的恰当位置。
  一旦代码无错误地编译完成,您就能够从 Eclipse 菜单上选择 Run 来执行该程序(注意这里不存在单独的编译步骤,因为编译是在您保存代码时进行的。如果代码没有语法错误,它就可以运行了)。这时会出现一个具有适当默认设置的 Launch Configurations 对话框;请按右上角的 Run 按钮。一个新的选项卡式窗格将出现在下面的窗格(控制台)中,其中显示了程序的输出,如图 5 所示。
  图 5. 程序的输出
  也可以在 Java 调试器中运行程序。首先双击编辑器视图左端的灰色边沿,从而在调用 System.out.println() 之后的 main() System.out.println() 中设置一个断点。一个蓝色的点将会出现在那里。然后从 Run 菜单上选择 Debug。正如上面描述的,这时会出现一个 Launch Configurations 对话框。请选择 Run。透视图将自动切换到 Debug 透视图,其中具有许多有趣的新视图,如图 6 所示:
  图 6. Debug 透视图
  首先,请注意该透视图左上角的 Debug 视图。这个视图显示调用堆栈,并且标题栏中有一个工具栏,它允许您控制程序的执行,包括继续、挂起或终止程序、跟踪下一个语句、单步执行下一个语句,或者从方法返回。
  右上角的窗格包含许多选项卡式的视图,包括 Variables、Breakpoints、Expressions 和 Display。这里我单击了 Variables 视图,以便我们能够看到 i 的当前值。
  可以通过上下文敏感的帮助,获得关于这些视图的更多信息:单击视图的标题,然后按 F1。  附加插件
  除了像 JDT 这样用于编辑、编译和调试应用程序的插件外,还有些可用的插件支持从建模、生成自动化、单元测试、性能测试、版本控制到配置管理的完整开发过程。
  Eclipse 标准地附带了配合 CVS 使用的插件,CVS 是用于源代码控制的开放源代码并发版本系统(Concurrent Versions System)。Team 插件连接到 CVS 服务器,允许开发团队的成员操作一组源代码文件,却不会相互覆盖其他人的更改。这里不打算进一步探讨如何从 Eclipse 内部进行源代码控制,因为这需要安装 CVS 服务器,不过支持开发团队而不只是独立的开发,这是 Eclipse 的一个重要的必备特性。
  已经可用或已宣布要推出的一些第三方插件包括:
  版本控制和配置管理
Merant PVCS
Rational ClearCase
  UML 建模
OMONDO EclipseUML
Rational XDE (代替 Rose)
Together WebSphere Studio Edition
Macromedia Flash
  Web 开发、HTML、XML
Macromedia Dreamweaver
  应用服务器集成
Sysdeo Tomcat launcher
  欲了解可用插件的更完整列表,请参阅 参考资料中的链接。
  例子:一个用于 UML 建模的插件
  要查看插件的例子,以及查看它是如何与 Eclipse 集成的,请下载流行的 OMONDO EclipseUML(参阅 参考资料中的链接);您需要注册,不过该插件是免费的。这个插件依赖 GEF,即 Graphical Editor Framework,这是另一个 Eclipse 插件。GEF 是 Tools 子项目的一部分。要下载 GEF,请转到 Eclipse Web 站点(参阅 参考资料),选择&downloads&,然后单击&Tools PMC downloads page&链接。注意您需要下载 OMONDO 推荐的 GEF 版本(针对 OMONDO 1.0.2 的是 GEF 2.0 版)。
  下载之后,插件的安装通常是通过解压缩下载文件,并将其内容复制到 Eclipse 插件目录来完成的。在此例中,GEF 需要解压缩到 Eclipse目录(它将自动从该目录进入插件目录)。为安全起见,您可能想将它解压缩到某个临时目录,再相应地从那里复制相关目录。如果 Eclipse 正在运行,您需要停止它然后再重新启动它,这样它才能识别新安装的插件。
  一旦 EclipseUML(以及 GEF)安装完成,您就能够像创建一个 Java 类文件一样创建一个类图。在 Java 透视图中,右键单击 Package Explorer 中的&Hello&项目,然后从弹出菜单上选择 New=&Other。New 对话框的左边窗格中将会有一个用于 UML 的新选项。EclipseUML 的免费版本仅支持类图,因此右侧的惟一选项是 UML Class Diagram。请选择 UML Class Diagram,然后为该类图键入一个名称,比如&Hello&:
  图 7. Class Diagram 编辑器
  编辑器区域中将会出现一个图形编辑器,它带有用于绘制类图的画布。您可以通过两种方式创建类图:通过将 Java 文件从 Package Explorer 拖放到类图上,从而对现有代码进行逆向工程;或者使用空白类图上面工具栏中可用的绘制工具。要试验第一种方法,请创建一个名为 Person 的新类(使用 File=&New=&Class),然后赋予它下面列出的两个私有属性:
  /** Person.java
* @author david
public class Person {
* Returns the address.
* @return Address
public Address getAddress() {
* Returns the name.
* @return String
public String getName() {
* Sets the address.
* @param address The address to set
public void setAddress(Address address) {
this.address =
* Sets the name.
* @param name The name to set
public void setName(String name) {
this.name =
  (应该承认,我仅键入了针对 name 和 address 的行。getter 和 setter 方法是通过 Eclipse 自动生成的,即右键单击源代码,然后从弹出菜单上选择 Source=&Generate Getter and Setter。)
  请保存并关闭 Person.java Hello.ucd。
  图 8. Person 类图
  要从 UML 创建 Java 类,请单击类图窗口顶部工具栏上的&New class&按钮,即左起第三个按钮,然后单击类图。当 New 类向导打开时,请键入 Adress 作为类名称,然后按 Finish。
  您可以右键单击类名称并选择 New=&Attribute,从而给类添加属性。在 New 属性对话框中,请输入属性名称、类型和可见性。然后右键单击类名称并选择 New=&Method来添加方法。
  当您更改类图时,图下面的 Source Editor 窗口将反映所做的更改。最后,您可以单击 Association 按钮(左起第五个),绘制一条从 Person 类指向 Address 类的线段,从而绘制这两个类之间的关系图。这样会调出另外一个对话框,您可以在其中输入关联属性(请参考 EclipseUML 帮助,以了解关于必需信息的更多内容)。完成后的图应该类似如下:
  图 9. 关联
  这个 UML 插件展示了 Eclipse 插件的几个典型特点。首先,它展示了工具之间的紧密集成。表面上绝对无法看出有多个组件在工作;与 Eclipse 平台和 JDT 的集成是无缝的。例如,当 Person 类被创建时,它显示语法错误是因为它的一个属性 Address 没有定义。一旦 Address 类在 UML 图中创建完成,这些组件就会分开显示出来。
  另一个特点是 EclipseUML 利用其他插件提供的功能的能力&&在此例中是 GEF 插件,它提供用于开发可视化编辑器的工具。
  还有另一个特点涉及 EclipseUML 插件使用多层次功能来分发的方式。支持类图的基本插件是免费的,但是更成熟的版本要付费才能使用。  Eclipse 平台体系结构
  Eclipse 平台是一个具有一组强大服务的框架,这些服务支持插件,比如 JDT 和插件开发环境(PDE)。它由几个主要的部分构成:平台运行库、工作区、工作台、团队支持和帮助。
  图 10. Eclipse 平台体系结构
  平台 平台运行库是内核,它在启动时检查已安装了哪些插件,并创建关于它们的注册表信息。为降低启动时间和资源使用,它在实际需要任何插件时才加载该插件。除了内核外,其他每样东西都是作为插件来实现的。
  工作区 工作区是负责管理用户资源的插件。这包括用户创建的项目、那些项目中的文件,以及文件变更和其他资源。工作区还负责通知其他插件关于资源变更的信息,比如文件创建、删除或更改。
  工作台 工作台为 Eclipse 提供用户界面。它是使用标准窗口工具包(SWT)和一个更高级的 API(JFace)来构建的;SWT 是 Java 的 Swing/AWT GUI API 的非标准替代者,JFace 则建立在 SWT 基础上,提供用户界面组件。
  SWT 已被证明是 Eclipse 最具争议的部分。SWT 比 Swing 或 SWT 更紧密地映射到底层操作系统的本机图形功能,这不仅使得 SWT 更快速,而且使得 Java 程序具有更像本机应用程序的外观和感觉。使用这个新的 GUI API可能会限制 Eclipse 工作台的可移植性,不过针对大多数流行操作系统的 SWT 移植版本已经可用。
  Eclipse 对 SWT 的使用只会影响 Eclipse 自身的可移植性&&使用 Eclipse 构建的任何 Java 应用程序都不会受到影响,除非它们使用 SWT 而不是使用 Swing/AWT。
  团队支持 团队支持组件负责提供版本控制和配置管理支持。它根据需要添加视图,以允许用户与所使用的任何版本控制系统(如果有的话)交互。大多数插件都不需要与团队支持组件交互,除非它们提供版本控制服务。
  帮助 帮助组件具有与 Eclipse 平台本身相当的可扩展能力。与插件向 Eclipse 添加功能相同,帮助提供一个附加的导航结构,允许工具以 HTML 文件的形式添加文档。
  Eclipse 的前景
  围绕 Eclipse 的开发正处于关键阶段。主要软件工具提供商都参与进来了,并且开放源代码 Eclipse 插件项目的数量正在与日俱增。
  可移植、可扩展、开放源代码的框架并不是个新思想(您会想起 Emacs),但是由于它成熟、健壮和优雅的设计,Eclipse 带来了全新的动力。IBM 价值 4000 万美元的世界级软件在开放源代码领域的发布,给业界带来了久违的震撼。
  参考资料
您可以参阅本文在 developerWorks 全球站点上的 英文原文.
可以从 Eclipse 项目网站获得 Eclipse 的文档、文章以及下载 Eclipse。
查看 通用公共许可证 v1.0的内容。
浏览完整的 Eclipse 插件列表。
下载流行的 OMONDO EclipseUML;您需要注册,不过该插件是免费的。
关于开放源代码软件的信息,包括诸如公共通用许可证这样的认证开放源代码许可证,可在 开放源代码计划 Web 站点上找到。
关于 copyleft 的权威解释可在 免费软件基金会的Web 站点上找到。
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
职称考试题目
招生信息考研政治
网络安全安全设置工具使用手机安全
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&developerWorks 社区
通过本文了解如何使用 Eclipse 平台的内置功能来调试软件项目。调试是编程人员必须面对的工作。调试的方法有很多种,但是归根结底,就是找出有 bug 的代码。例如,Linux® 应用程序中最常见的一个错误就是段错误(segmentation fault)。在程序试图访问没有分配给它的内存时,会因为段越界而终止,这时就发生了这个错误。为了修复这类错误,需要找到触发错误的那行代码。找到出现问题的代码以后,了解发生错误的上下文、相关值、变量和方法也很有用。使用调试器找出这些信息非常简单。
, 软件工程师, EMC
Chris Aniszczyk 是 IBM Lotus 的一名软件工程师,致力于与 OSGi 相关的开发。他是一个开放源码的爱好者,致力于
发行版的工作,同时还是一些 Eclipse 项目(PDE, ECF, EMFT)的提交者。您可以随时与他
关于开放源码和 Eclipse 的问题。
(), 独立软件顾问, 自由职业者
Pawel Leszek 是
的一名作家,他是一位专长于 Linux/Win/Mac OS 系统体系结构和管理的独立软件顾问和作家。他具有许多操作系统、编程语言和网络协议方面的经验,尤其是 Lotus Domino 和 DB2 方面的经验。Pawel 还是 LinuxWorld 上一系列文章的作者,以及 PC World 波兰版的 Linux 专栏作家。Pawel 和他妻子以及可爱的小女儿住在华沙。欢迎提问并提出意见;您可以直接给作者发电子邮件()。
编者注:Pawel Leszek 最初于 2003 年 5 月撰写了下文,后来由 Chris Aniszczyk 于 2007 年 4 月进行了更新。Eclipse 调试器和 Debug 视图Eclipse SDK 是针对 Java™ 开发工具(Java™ Development Tools,JDT)的项目,它具有一个内置的 Java 调试器,可以提供所有标准的调试功能,包括分步执行、设置断点和值、检查变量和值、挂起和恢复线程的功能。除此之外,还可以调试远程机器上运行的应用程序。Eclipse 平台很健壮,因为其他编程语言可以将该平台提供的调试工具用于各自的语言运行时。正如下文所示,同一个 Eclipse Debug 视图也可以用于 C/C++ 编程语言。Eclipse 平台工作台及其工具是围绕 JDT 组件构建的,该组件为 Eclipse 提供了下列特性: 项目管理工具透视图和视图构造器、编辑器、搜索和构建功能调试器Eclipse 调试器本身是 Eclipse 内的一个标准插件集。Eclipse 还有一个特殊的 Debug 视图,用于在工作台中管理程序的调试或运行。它可以显示每个调试目标中挂起线程的堆栈框架。程序中的每个线程都显示为树中的一个节点,Debug 视图显示了每个运行目标的进程。如果某个线程处于挂起状态,其堆栈框架显示为子元素。在使用 Eclipse 调试器之前,假定您已经安装了合适的 Java SDK/JRE(我推荐使用 Java VM V1.4)和 Eclipse Platform SDK V3.3,而且两者的运行都没问题。一般来说,先用 Eclipse 示例测试一下调试选项比较好。如果想开发和调试 C/C++ 项目,还需要获得并安装 C/C++ 开发工具(C/C++ Development Tools,CDT)。关于 Java SDK/JRE、Eclipse 平台和示例以及 CDT,请参阅 。 图 1 显示了 Debug 透视图的一般视图。图 1. Eclipse Debug 透视图的一般视图调试 Java 语言程序在可以调试项目前,需要干净地编译和运行代码。首先,需要为应用程序创建一个运行配置,确保应用程序可以正确启动。然后,需要通过 Run & Debug 菜单以类似的方式设置调试配置。还需要选择一个类,将它作为调试的主
Java 类来使用(请参见图 2)。您可以按照自己的意愿为单个项目设置多个调试配置。当调试器启动时(从 Run & Debug),会在一个新的窗口中打开,这时就可以开始调试了。图 2. 在调试配置中设置项目的主 Java 类接下来,将讨论 Eclipse 中的一些常用调试实践。设置断点在启动应用程序进行调试时,Eclipse 会自动切换到 Debug 透视图。毫无疑问,最常见的调试步骤是设置断点,这样可以检查条件语句或循环内的变量和值。要在 Java 透视图的 Package Explorer 视图中设置断点,双击选择的源代码文件,在一个编辑器中打开它。遍历代码,将鼠标放在可疑代码一行的标记栏(在编辑器区域的左侧)上,双击即可设置断点。图 3. 编辑器左侧看到的两个断点现在,从 Run & Debug 菜单启动调试会话。最好不要将多条语句放在一行上,因为会无法单步执行,也不能为同一行上的多条语句设置行断点。图 4. 视图中左侧空白处的箭头指示当前正在执行的行还有一个方便的断点视图来管理所有的断点。图 5. 断点视图条件断点一旦了解到错误发生的位置,您可能想要知道在程序崩溃之前,程序在做什么。一种方法就是单步执行程序的每行语句。一次执行一行,直到运行到可疑的那行代码。有时,最好只运行一段代码,在可疑代码处停止运行,在这个位置检查数据。还可以声明条件断点,它在表达式值发生变化时触发(请参见图 6)。除此之外,在输入条件表达式时,也可以使用代码帮助。图 6. 设置条件断点触发器计算表达式的值为了在 Debug 透视图的编辑器中计算表达式的值,选择设置了断点的那行代码,在上下文菜单中,通过 Ctrl+Shift+I 或右键单击您感兴趣的变量(参见图 7)选择 Inspect 选项。在当前堆栈框架的上下文中会计算表达式的值,在 Display 窗口的 Expressions 视图中会显示结果。图 7. 通过 Inspect 选项计算表达式的值剪切活动代码Display 视图允许您以剪切类型的方式处理活动代码(参见图 8)。要处理一个变量,在 Display 视图中输入变量名即可,视图会提示您一个熟悉的内容助手。图 8. Display 视图当调试器停止在一个断点处时,您可以从 Debug 视图工具栏(参见图 9)中选择 Step Over 选项,继续调试器会话。该操作会越过高亮显示的那行代码,继续执行同一方法中的下一行代码(或者继续执行调用当前方法的那个方法的下一行代码)。执行上一步后发生改变的变量会用某种颜色高亮显示(默认是黄色)。颜色可以在调试首选项页面中改变。图 9. 改变颜色的变量要在 Debug 视图中挂起执行线程,选择一个运行线程,单击 Debug 视图工具栏中的 Suspend。该线程的当前调用堆栈就会显示出来,当前执行的代码行就会在 Debug 透视图中的编辑器中高亮显示。挂起一个线程时,将鼠标放在 Java 编辑器中的变量上,该变量的值就会在一个小的悬停窗口中显示出来。此时,该线程的顶部堆栈框架也会自动选中,其中的可视变量也会在 Variables 视图中显示出来。您可以通过单击 Variables 视图中合适的变量名来检查变量。热交换错误修正:动态代码修正如果运行的是 Java 虚拟机(Java Virtual Machine,JVM)V1.4 或更高的版本,Eclipse 支持一个叫做热交换错误修正(Hotswap Bug Fixing)的功能,JVM V1.3 或更低的版本不支持该功能。该功能允许在调试器会话中改变源代码,这比退出应用程序、更改代码、重新编译、然后启动另一个调试会话更好。要利用该功能,在编辑器中更改代码后重新调试即可。由于 JVM V1.4 与 Java 平台调试器架构(Java Platform Debugger Architecture,JPDA)兼容,所以才有可能具备该功能。JPDA 实现了在运行的应用程序中替换经过修改的代码的功能。如果应用程序启动时间较长或执行到程序失败的地方时间很长,那么这一点特别有用。如果在完成调试时,程序还没有全部执行一遍,在 Debug 视图的上下文菜单中选择 Terminate 选项。容易犯的一个错误是在调试器会话中使用 Debug 或 Run,而不是 Resume。这样做会启动另一个调试器会话,而不是继续当前会话。远程调试Eclipse 调试器提供了一个有趣的选项,可以调试远程应用程序。它可以连接到一个运行 Java 应用程序的远程 VM,将自己连接到该应用程序上去。使用远程调试会话与使用本地调试会话大致相同。但是,远程调试配置需要在 Run & Debug 窗口中配置一些不同的设置。需要在左侧视图中先选择 Remote Java Application 选项,然后单击 New。这样就创建了一个新的远程启动配置,会显示出三个选项卡:Connect、Source 和 Common。在 Connect 选项卡的 Project 字段,选择在启动搜索源代码时要引用的项目。在 Connect 选项卡的 Host 字段,输入运行 Java 程序的远程主机的 IP 地址或域名。在 Connect 选项卡的 Port 字段,输入远程 VM 接收连接的端口。通常,该端口在启动远程 VM 时指定。如果想让调试器决定在远程会话中 Terminate 命令是否可用,可以选择 Allow termination of remote VM 选项。如果希望可以终止连接的 VM,则选择该选项。现在,在您选择 Debug 选项时,调试器会尝试连接到指定地址或端口的远程 VM,结果会在 Debug 视图中显示出来。如果启动程序不能连接到指定地址的 VM,会出现一条错误信息。通常来说,是否可以使用远程调试功能完全取决于远程主机上运行的 Java VM。图 10 显示了一个远程调试会话的连接属性设置。图 10. 设置一个远程调试会话的连接属性调试其他语言尽管 Java 语言是 Eclipse 使用的最广泛的语言,但是 Eclipse 是一个可扩展的平台,可以支持许多其他的语言。Eclipse 可以通过 C/C++ 开发工具(CDT)支持 C/C++ 。CDT 扩展了标准的 Eclipse Debug 视图,添加了调试 C/C++ 代码的功能,CDT Debug 视图可以在工作台中管理 C/C++ 项目的调试过程。CDT 中没有内部的调试器,但是它提供了一个 GNU GDB 调试器的前端,该调试器必须在本地可用。还有其他项目可以提供各自的调试器,例如 PHP 开发工具(PHP Development Tools ,PDT),请参见图 11。 图 11. PHP 调试器结束语Eclipse 平台提供了一个内置 Java 语言调试器,它带有标准的调试功能,包括分步执行、设置断点和值、检查变量和值以及挂起和恢复线程功能。它还可以用来调试运行在远程机器上的应用程序。Eclipse 平台主要是一个 Java 开发环境,但是其中的 Eclipse Debug 视图还可以用于 C/C++、PHP 和许多其他的编程语言。致谢感谢 Tyler Anderson 绘制了图 11。
参考资料 您可以参阅本文在 developerWorks 全球站点上的
获得关于程序及其使用的全面信息。
随时了解 Eclipse 社区的变化。
从 Eclipse.org 的
了解 C/C++ 开发工具。
和 ,了解 JavaScript 调试。
通过这份 EclipseCon
了解 Eclipse Debug Framework 的知识。
查看 “”。
浏览 developerWorks 上所有的 Eclipse
Eclipse 的新用户应该从这里查看 。
查看 IBM developerWorks 的 ,扩展您的 Eclipse 技能。
要收听针对软件开发人员的有趣访谈和讨论,请查看 。
要获得 Eclipse 平台的介绍,请参阅 “”。
随时关注 developerWorks 的 。
查看全球范围内面向 IBM 开放源码开发人员的即将举行的会议、商业展览、网络广播和其他 。
访问 developerWorks ,提供了大量的 how-to 信息、工具和项目更新,帮助您使用开源技术进行开发,并与 IBM 产品结合使用。
查看最新的 。
下载 ,开始使用来自 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的应用程序开发工具和中间件产品。
创建您的下一个开放源码开发项目,可通过下载或从 DVD 中获得。
查看 ,了解有关 C/C++ 调试的开发帮助。(选择该链接将启动默认的 Usenet 新闻阅读器应用程序,并打开 eclipse.tools.cdt。)
查看 ,了解有关 JavaScript 调试的开发帮助。(选择该链接将启动默认的 Usenet 新闻阅读器应用程序,并打开 eclipse.webtools.atf。)
查看 ,提出有关调试以及 Eclipse 平台方面的问题。(选择该链接将启动默认的 Usenet 新闻阅读器应用程序,并打开 eclipse.platform。) 应该是您讨论有关 Eclipse
问题的第一站。(选择该链接将启动默认的 Usenet 新闻阅读器应用程序,并打开 eclipse.platform。) 为对使用和扩展 Eclipse 感兴趣的人员提供了大量参考资料。
加入 developerWorks 社区。
developerWorks: 登录
标有星(*)号的字段是必填字段。
保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件。
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
选择您的昵称
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。
您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
标有星(*)号的字段是必填字段。
(昵称长度在 3 至 31 个字符之间)
单击提交则表示您同意developerWorks 的条款和条件。 .
所有提交的信息确保安全。
文章、教程、演示,帮助您构建、部署和管理云应用。
立即加入来自 IBM 的专业 IT 社交网络。
免费下载、试用软件产品,构建应用并提升技能。
static.content.url=/developerworks/js/artrating/SITE_ID=10Zone=Open sourceArticleID=228045ArticleTitle=使用 Eclipse 平台进行调试publish-date=

我要回帖

更多关于 eclipse 不编译class 的文章

 

随机推荐