Java高级调试技术公开课讲座

  • 名称:Java高级调试技术公开课
  • 分类:程序设计  
  • 观看人数:加载中
  • 时间:2014/7/3 20:34:48
本套课程为Java高级调试技术公开课讲座,是学习java编程必学课程,在开发程序的过程中,程序员其实是将较少的时间花在程序编写上,其他更多的时间是在调试程序的过程中。市面上有很多讲解编程技术的书籍,然而涉及到发现问题的调试技术,却寥寥无几。
   调试技术实务分为调试基本概念和设置,通过使用JDK自带的一些工具来调试Java程序中的疑难症状。不仅仅介绍了枯燥的程序调试技术,还深入的从操作系统实现以及Java虚拟机实现的本质出发,介绍调试工作中的工作方法、流程和相关技术。
   本课程的作者长期从事程序调试工作,参与了大量的程序调试工作。本课程是培训讲师多年程序调试工作经验的总结,从程序调试的基本技术入手,针对大量实战案例进行剖析,让学员在掌握相关技术的同时,真正学会程序调试的方法。
很多程序员并没有熟悉到排除软件的错误的价值,假如你是一个JAVA开发者,就很值得读一读这个材料。在现代工具的帮助下,开发者成为一个好的调试者和成为一个好的程序员的重要性一样。
    这个材料假设你已经有基本的JAVA编程的知识,假如你精通JAVA,这个材料也可以增加你很多知识。
    假如你有其他语言的调试经验,你可以跳过基本知识部分。
    即使是高级程序员开发的小程序也可能包含错误。你只需要理解调试的概念并熟悉合适的工具就可以成为好的调试者。这份材料将讲解JAVA调试的基本概念,也讨论高级的调试类型。我们将浏览不同的技术并且提供一些好的建议去帮助避免,追踪并最终修正程序的错误。
    我们将通过一个调试范例以使你熟悉调试技术。我们也将使用开发源代码工具Jikes 和JDB向你演示如何调试服务器端和客户端程序。为了编译和运行范例代码,你需要先安装一个Java Development Kit (JDK) ,你可以参考后面的部分获得Jikes 和 JDB调试器。
    关于作者
    假如对这个材料的内容有任何问题,你可以联系作者Laura Bennett, lbenn@us.ibm.com
    假如对中文版的翻译有何意见和建议,请联系翻译者cherami ,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使你可以创建符合你自己特定需求的调试器。