【转】Top 10 Java Debugging Tips with Eclipse
在本教程中,我们将看到使用Eclipse调试Java应用程序。调试可以帮助我们识别和解决应用程序中的缺陷。我们将重点放在运行时间的问题,而不是编译时错误。有提供像gdb的命令行调试器。在本教程中,我们将集中在基于GUI的调试,我们把我们最喜爱的IDE Eclipse来运行,通过本教程。虽然我们说的Eclipse,点大多是通用的,适用于调试使用的IDE像NetBeans。
0.三点特别提醒:
- 不要使用System.out.println作为调试工具
- 启用所有组件的详细的日志记录级别
- 使用一个日志分析器来阅读日志
[
(System.out.println()对开发人员来说,有时候也许可以是一种调试手段,但是项目一旦完成他就没有什么用途了,就变成垃圾了,得必须注释或删除掉,这样会比较麻烦。启用所有组件的详细日志记录级别,运用日志分析器来记录详细系统运行状态,这对后期网站的优化和维护会有很多作用。)这仅仅是个人理解,仅供参考!
]
1.条件断点
想象一下我们平时如何添加断点,通常的做法是双击行号的左边。在debug视图中,BreakPoint View将所有断点都列出来,但是我们可以添加一个boolean类型的条件来决定断点是否被跳过。如果条件为真,在断点处程序将停止,否则断点被跳过,程序继续执行。
2.异常断点
在断点view中有一个看起来像J!的按钮,我们可以使用它添加一个基于异常的断点,例如我们希望当NullPointerException抛出的时候程序暂停,我们可以这样:
3.观察点
这是一个很好的功能,他允许当一个选定的属性被访问或者被更改的时候程序执行暂停,并进行debug。最简单的办法是在类中声明成员变量的语句行号左边双击,就可以加入一个观察点。
4.查看变量
在选中的变量上使用Ctrl+Shift+d 或者 Ctrl+Shift+i可以查看变量值,另外我们还可以在Expressions View中添加监视。
5.更改变量的值
我们可以在Debug的时候改变其中变量的值。在Variables View中可以按下图所示操作。
6.在主方法停止
在Run/Debug设置中,我们可以按如下图所示的启用这个特性。程序将会在main方法的第一行停住
7.环境变量
我们可以很方便的在Edit Conriguration对话框中添加环境变量
8.跳出函数到选定层
这个功能非常酷,是我第二个非常喜欢的功能,Drop to frame就是说,可以重新跳到当前方法的开始处重新执行,并且所有上下文变量的值也回到那个时候。不一定是当前方法,可以点击当前调用栈中的任何一个frame跳到那里(除了最开始的那个frame)。主要用途是所有变量状态快速恢复到方法开始时候的样子重新执行一遍,即可以一遍又一遍地在那个你关注的上下文中进行多次调试(结合改变变量值等其它功能),而不用重来一遍调试到哪里了。当然,原来执行过程中产生的副作用是不可逆的(比如你往数据库中插入了一条记录)。
9.分步过滤
当我们在调试的时候摁F5将进入方法的内部,但这有个缺点有的时候可能会进入到一些库的内部(例如JDK),可能并不是我们想要的,我们可以在Preferences中添加一个过滤器,排除指定的包。
10.跳入,跳过和返回
其实这个技巧是debug最基本的知识。
- F5-Step Into:移动到下一步,如果当前的行是一个方法调用,将进入这个方法的第一行。(可以通过第九条来排除)
- F6-Step Over:移动到下一行。如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行。
- F7-Step Return:继续执行当前方法,当当前方法执行完毕的时候,控制将转到当前方法被调用的行。
- F8-移动到下一个断点处。
分享到:
相关推荐
根据提供的信息,我们可以总结并详细解释与“debugging_with_gdb(中文版pdf)”相关的知识点。这份文档似乎是一份关于使用 GDB(GNU Debugger)进行调试的手册或指南的中文版 PDF 文件。GDB 是一个非常强大的开源调试...
本文档将详细介绍如何在Eclipse集成开发环境中设置开发环境,包括如何连接到Pentaho Subversion仓库、检出Pentaho项目、构建这些项目以及使用独立的Java应用服务器和Eclipse IDE进行调试的过程。 #### 前言 ...
This is the Tenth Edition, of Debugging with GDB: the GNU Source-Level Debugger for GDB (GDB) Version 8.1.90.20180814-git. Copyright © 1988-2018 Free Software Foundation, Inc. Permission is granted...
Debugging.with.Fiddler 带书签
Debugging With GDB 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Develop, debug, test, and troubleshoot Java EE 7 applications rapidly with Eclipse About This Book Go beyond simply learning Java EE APIs and explore the complete workflow of developing enterprise ...
《使用GDB进行调试》 GDB(GNU Debugger)是开源社区GNU开发的一款强大的源代码级调试器,广泛应用于C、C++等编程语言。它允许程序员在运行时检查和控制程序,查找并修复错误,从而提高软件的质量和可靠性。...
《Debugging with gdb中文带书签特别版》是一本关于GNU源代码级调试器GDB的中文教程书籍,适配gdb版本6.8.50.***。书中详细介绍了GDB的各种功能、命令以及如何使用该工具进行有效的程序调试。 首先,书中提供了一个...
Debugging.with.Fiddler.中文.PDF 有标签
然而,根据标题和描述,我们可以推断出这本书的内容涵盖使用GDB、DDD和Eclipse进行程序开发调试的方法。GDB(GNU Debugger)是一个由GNU开源组织提供的强大的命令行调试工具,DDD(Data Display Debugger)是基于GDB...
目前CSDN下载频道中的微软调试工具WinDbg(即Debugging Tools for Windows)大都不适用于Win10系统,在Windows10中会报错:Could not find the xxx\MEMORY.DMP Dump File,Win32 error On87。这里提供的WinDbg10下载...
GDB 是一个自由和开源的调试工具,提供了丰富的调试功能,支持多种编程语言,包括 C、C++、Java、Python 等。GDB 的主要功能包括:调试程序、追踪程序的执行过程、检查程序的状态、检测程序中的错误等。 GDB 的使用...
Debugging with Fiddler,介绍Fiddler的书籍
The GNU Debugger allows you to see what is going on ... GDB supports C, C++, Java, Fortran and Assembly among other languages; it is also designed to work closely with the GNU Compiler Collection (GCC).
#### 标题解析:【Debugging Tips, Searching, Notifications, KVC,KVO】[PDF] [iPhone/iPad/iOS] 标题指出,文档内容涵盖的是iOS(包括iPhone和iPad)平台上的应用开发中关于调试技巧(Debugging Tips)、搜索功能...
Debugging iOS Applications with IDA Pro, 最新版本,enjoy it
《使用gdb进行调试 第十版》是介绍GNU源码级调试器gdb的官方文档。本书由Richard Stallman、Roland Pesch、Stan Shebs等多位作者撰写,旨在为用户提供一个全面的gdb使用指南,涵盖gdb版本7.5至1.0.53。...