Eclipse的调试功能的10个小窍门,
1. 调试视图:有条件的断点。
如果你仅仅对程序的某个部分感兴趣,调试视图是非常有帮助的。假设你想看看一个循环中的第十三次循环得到什么结果,或者你正在调试一个抽象父类,想看看某个具体的子类。你可以在调试视图设置条件,右键点击代码旁的蓝色断点符号,在弹出菜单中选择“Breakpoint Properties…”。你可以选择是在你的代码段返回真值是停止程序或者当你的代码段的值改变时停止。
2. 变量视图:显示逻辑结构(Show Lodical Structure)
如果你想在变量视图中查看Map或者List中的值,eclipse的默认设置可能不是那么方便。譬如你在使用HashMap,你必须要点开所有的子节点才能看到HashMap中的内容,还要受到HashMap实现细节的干扰。但是在变量上有一个小按钮-“Show Logical Structure”。它非常的方便,尤其当你没有实现某个对象的toString()代码时。我的老板前几个星期刚刚告诉我Eclipse有这个功能。你知道,他是那种每天只用对着PowerPoint和Excel的人。这对我这种号称程序员的家伙来说是件多么丢脸的事情啊!;-)
3. 变量视图:更改值…(Change Value…)
假设你在一个基于Web的表单中稍微改了一点输入值,那么我们不需要重启调试session,你可以直接使用变量视图的改变变量值的功能。这可以节省你的时间,有时候也能帮你模拟一些奇怪的行为。
4. 显示视图(Display View)
你知道还有个“显示视图”吗?你可以通过“Window” -> “Show View” -> “Display”激活这个视图。现在你的Eclipse有一个完全空的视图。你可以通过这个视图来输入以及验证新的代码段。这些代码将会在当前的调试的位置的上下文中执行,这意味着你可以使用所有的变量,你甚至还能使用内容辅助。要执行这个代码,你需要选中它,然后点击右键弹出菜单点击相应的项,或者按下CTRL+U(执行)或者按下CTRL+SHIFT+I(检查)。
5. 导航: Drop to Frame
我相信所有人都知道”Step Into”,“Step over”,甚至知道“Step return”。这是调试要掌握的最基本的技巧。我还想告诉你另外两种方法。我非常喜欢它们。第一个是“Drop to Frame”。有了这个功能,你可以回到过去;-),你可以轻松回到你曾经运行过的Java stackframe中的位置。这对我来说非常有用,因为可能我错过了某一点,有了”Drop to Frame”功能,我可以轻松重新运行那段代码了。
6. 导航: Step into Selection
第二个是“Step into Selection”。这个功能非常简单,但是很多人都没有使用。你仅仅需要按下Ctrl+Alt,同时点击你想去的方法上点击,快捷方便。相比较“Step Into”,“Step into Selection”更加方便。譬如假设你想进入某个有许多参数的方法,你可以使用一步就跳过所有参数的赋值。”Run to line”也是个不错的功能。你只需要将鼠标放在那一行前面,然后点击”CTRL+R”。
7. 导航:使用快捷键
如果你不再使用鼠标,你会变得更加有效率。至少你应该掌握以下的快捷键:
F5 – “Step Into”
F6 – “Step Over”
F7 – “Step Return”
F8 – “Resume”
Ctrl+Shift+B – “Toggle Breakpoint”
Ctrl+Shift+I – “Inspect”
8. 断点视图:Watchpoints
是什么改变了变量?!有时创建watchpoint会有很大的帮助。当某个要监视的field的值改变时或是读到时,调试器会停下来。双击某个field,这个watchpoint显示在断点视图中,你可以编辑它的属性。你也可以设置hit count,意思是当你输入的hit count已经达到了,调试器便会停下来。这个也适合于普通的断点。
9. 清晰易读的对象
变量视图是使用toString()方法来显示一个对象的值,所以我们应该要写出清晰易读的toString()方法。java.lang.Object默认的toString()方法的javadoc也如此建议:
* Returns a string representation of the object. In general, the
* toString method returns a string that
* "textually represents" this object. The result should
* be a concise but informative representation that is easy for a
* person to read.
* It is recommended that all subclasses override this method.
[...]
你可以看一看commons-lang中的ToStringBuilder。它可以帮助你写出“良好的、前后一致的”toString()方法。
如果你不能修改toString()方法,譬如你使用框架,或是外来的API,在Eclipse中创建“Detail Fomatter”可以帮到你。在变量视图中右击某个对象,然后点击“New Detail Formatter…”。然后你便能够定义代码,之后这种类型的Object都用这种形式来显示。
原文地址:http://www.importnew.com/6164.html
分享到:
相关推荐
- **插件生态系统**:Eclipse 拥有一个庞大的插件生态系统,可以通过安装第三方插件扩展其功能,满足特定开发需求。 - **社区资源**:Eclipse 官方网站提供了丰富的文档、教程和论坛资源,帮助开发者解决使用过程中...
这部分介绍了如何利用Eclipse的Debug调试功能来查找和修复代码中的错误。 - **断点设置**:在代码中设置断点以暂停执行。 - **变量监视**:监视变量的值随时间的变化。 - **步骤执行**:逐行执行代码,观察程序的...
- **插件**:Eclipse RCP 应用程序的核心构建单元,每个插件负责特定的功能或服务。 - **OSGi**:一种模块化系统和动态模块加载器,使插件能够动态加载、卸载、启动和停止。 - **扩展点**:定义在插件中的接口,允许...
**最佳实践**和**技巧**部分则会分享一些提高效率的小窍门,例如快捷键的使用,工作空间的管理,以及如何优化Eclipse的性能。 总的来说,"Eclipse从入门到精通PDF"是一份全面且实用的学习资源,无论你是刚接触...
《利用JTAG OCD加速Linux设备软件调试的小窍门详解》 在嵌入式系统和Linux设备的开发过程中,调试是一个至关重要的环节,尤其在面对复杂的Linux内核和用户空间应用程序时。传统的调试方法,如JTAG工具和基于代理的...
而MyEclipse作为Eclipse的一个插件,提供了额外的功能支持,特别是对于Web应用和企业级Java应用的开发非常有用。 本文档由Sascha Wolski和Sebastian Hennebrüder编写,并于2005年1月发布。文档适用于Eclipse 3.x...
1. **Eclipse IDE的使用**:Eclipse是世界上最流行的Java开发工具之一,提供丰富的功能,如代码编辑、调试、构建管理等。学习ECLIPSEDEMO将让你熟悉Eclipse的工作环境,包括项目创建、代码导航、编译与运行、调试...
GUI基于调试技术、使用JMX进行的监控、任务调度、电子邮件发送等功能也被包含在内,这些功能为开发提供了全面的支持。 在方法论方面,本书提到了极限编程(XP)和敏捷模型驱动开发(AMDD)。这两种方法都是敏捷软件开发...
这份文档包含了100个实用的技巧和窍门,涵盖了GDB的基本操作到高级应用,旨在提升程序员的调试效率。 1. **启动GDB** - `gdb program_name`: 启动GDB并加载指定的程序。 - `-args arguments`: 在运行程序时传递...
3. **使用ECLIPSE(方法一和二)**:Eclipse作为流行的开发环境,提供了插件支持Eucalyptus开发,包括代码调试、自动完成和版本控制集成,帮助开发者提高效率。 4. **DEBUGGING**:调试技巧是解决问题的关键,了解...
这些小贴士涵盖了从日常开发到高级调试的各种场景。 #### 十八、示例:MP3管理器 第十八章通过一个具体的项目——MP3管理器,展示了如何将所有学到的知识整合起来,构建一个完整的应用程序。这个示例不仅提供了代码...
Eclipse技巧和诀窍 分享Eclipse IDE的高效使用技巧,包括快捷键、插件和定制设置,提高开发者的生产力。 #### E. SQLite快速入门 教授SQLite数据库的使用,包括表结构设计、SQL语句编写和数据管理,满足应用的轻...
- **UI技巧与窍门**:分享了提高UI设计效率和质量的小贴士。 ### 核心模块应用(第3部分) 这部分涵盖了NetBeans平台标准模块的使用,包括帮助系统、输出窗口、导航器、属性编辑器、设置管理、调色板等,每个章节...
在Linux环境下进行自定义硬件调试是一个复杂但至关重要的过程,尤其是在嵌入式Linux板级支持包(BSP)开发中。这项技术涉及到一系列工具和技巧,旨在发现和解决硬件相关问题,从而确保系统的稳定性和性能。 首先,...
- 讨论输出窗口在调试过程中的应用。 - **第18章:导航器** - 介绍导航器的功能及其使用方法。 - 分析如何通过导航器快速定位代码。 - 讨论导航器在项目管理中的作用。 - **第19章:属性** - 介绍属性的概念...
献给初学者的10个Git技巧** - **基本操作**:clone、commit、push等。 - **高级功能**:分支管理、合并冲突等。 #### 六、shell命令 **1. 嵌入式Linux开发常用的实用命令** - **ls**:列出目录内容。 - **grep**...
- **最佳实践**:分享高效的游戏设计模式、优化性能的小窍门以及调试技巧等。 #### 六、社区支持与资源 - **官方文档**:jMonkeyEngine官网提供了丰富的文档资料,包括API参考手册、教程和示例代码等。 - **论坛...