java调试技术(补足六个汉字).docx
文本预览下载声明
JAVA调试技术
前言
这份材料介绍JAVA的调试技术,范围涵盖普通程序和服务器端程序的调试。
很多程序员并没有认识到排除软件的错误的价值,如果你是一个JAVA开发者,就很值得读一读这个材料。在现代工具的帮助下,开发者成为一个好的调试者和成为一个好的程序员的重要性一样。
这个材料假设你已经有基本的JAVA编程的知识,如果你精通JAVA,这个材料也可以增加你很多知识。
如果你有其他语言的调试经验,你可以跳过基本知识部分。
即使是高级程序员开发的小程序也可能包含错误。你只需要理解调试的概念并熟悉合适的工具就可以成为好的调试者。这份材料将讲解JAVA调试的基本概念,也讨论高级的调试类型。我们将浏览不同的技术并且提供一些好的建议去帮助避免,追踪并最终修正程序的错误。
我们将通过一个调试范例以使你熟悉调试技术。我们也将使用开发源代码工具Jikes 和JDB向你演示如何调试服务器端和客户端程序。为了编译和运行范例代码,你需要先安装一个Java Development Kit (JDK) ,你可以参考后面的部分获得Jikes 和 JDB调试器。
关于作者
如果对这个材料的内容有任何问题,你可以联系作者Laura Bennett, HYPERLINK mailto:lbenn@ lbenn@。
如果对中文版的翻译有何意见和建议,请联系翻译者cherami , HYPERLINK mailto:cherami@163.net cherami@163.net 。
Laura Bennett 是IBM的资深软件工程师。她获得Pace大学的计算机科学学士学位和Columbia大学的计算机科学硕士学位。她是developerWorks的JAVA传教士,同时也是站点的建设者。在他的空余时间,她喜欢和她的Lego MindStorm 机器人玩乐以及和她四岁大的TinkerToys搭建物体。
Cherami是一个软件工程师,闲暇之余翻译一些计算机文献,以期为中国的计算机软件事业做出一点微薄的贡献。
?
?
调试的基础知识
开始的情况
在JAVA语言的早期,一个典型的开发者使用非常陈旧的方法调试程序:使用System.out.println() 方法。代码的跟踪信息被打印到控制台、文件或者套接字。
很少有人能在第一次就写出完美的(没有任何错误)代码。因此,市场认识到了对于像C++ 程序员使用的调试器那样的工具的需要。Java开发者现在有很多调试工具可以选择,选择什么样的工具依赖于你的技术等级。通常新手使用GUI调试工具而有更多经验的程序员趋向于避免使用所见即所得的工具而更关心有更多的控制能力。没有哪个开发者不使用任何调试工具。调试器允许你穿越代码,冻结输出以及检查变量。开发者越有经验,调试工具越可以帮助他更快定位程序问题的位置。
Java调试器的类型
这里有几种Java调试技术的工具:
IDE(集成开发环境) 包含它们自己的调试器 (例如IBM的VisualAge for Java, Symantec Visual Café以及 Borland JBuilder)
单独的GUI工具 (例如Jikes, Java 平台调试器 javadt, 以及JProbe)
基于文本和命令行的工具 (例如Sun JDB)
野蛮的使用编辑器 (例如Notepad 或者 VI) 检查堆栈描绘(stack traces)
你使用的 JDK, JSDI, JSP, 和HTML对你的选择都有影响。
IDE 和独立的GUI 调试器对于初学者是最容易的并且被证明是最节省时间的。调试器将引导你到程序崩溃的地方。在调试器里面执行程序,使用鼠标设置断点并穿越代码。使用这些调试器的不利方面是并非所有的IDE调试器都支持最新的Java API和技术 (例如servlets 和 EJB 组件)。
基于文本和野蛮的使用编辑器的技术提供更多的控制但是对于没有太多经验的程序员可能会花费更长的时间找出错误。我们称它们为“可怜人的”调试方法。
如果上面的都不满足你的需求, Java平台引入Java Debugging APIs使你可以创建符合你自己特定需求的调试器。
调试类型
这儿有很多调试方法,无论是在客户端还是服务器端。我们在这个材料里面包含下面的方法:
基本的Java字节码 (也就是使用System.out.println())
使用注释
附加在一个正在运行的程序上
远程调试
需求调试(Debugging on demand)
优化代码的调试
Servlet, JSP 文件以及EJB 组件的调试
在后面会详细说明每一种类型的调试。
共同的错误类型
为了给你一个你将遇到什么的提示,我们在下面列出了开发者一次又一次遇到的普遍错误:
编辑或句法错误 是你最先和最容易遇到的错误。它们通常是
显示全部