摘要
Jikes 是 IBM 开发的开放源码项目的一部分,现在由来自包括 IBM 在内的几家公司的开发人员维护。
--------------------------------------------------------------------------------
Java调试教程(七)--Jikes概述
SUN Laura Bennett
什么是 Jikes?
Jikes 是 IBM 开发的开放源码项目的一部分,现在由来自包括 IBM 在内的几家公司的开发人员维护。
与传统的 javac 命令相比,Jikes 拥有以下一些主要优点:
它是开放源码,所以任何人都可以更新并重新分发源代码。
它严格遵守 Java 语言规范和 Java 虚拟机规范。
编译器经证实具有高性能。
它可以对代码执行相关性分析,而且它支持递增构建和生成 makefile。
Jikes 项目已经移植到 Windows、Linux、UNIX 和 Macintosh 平台上。
Jikes 工具集
Jikes 包含了 Java 源码到字节码编译器和 GUI 调试器。
编译器由 jikes 命令调用
调试器由 jd 命令调用
本教程中,我们将研究调试器。
Jikes 调试器 (JD) 简介
JD 是完全用 Java 代码编写的 Jikes 图形调试器。它应该在任何支持 Java平台的平台上运行。
已经用 JDK 1.1.6 测试了最新的 JD;然而,可以通过发出 jd 命令并使用-nocheckversion 选项来指向更新的 JDK。
现在可以从 IBM 的 alphaWorks 站点免费获取 Jikes 调试器(请参阅参考资)。它是 Sun 的命令行 Java 调试器 (JDB) 的图形用户界面。我们将在第 9 章中具体研究JDB。
Jikes 易于使用并且易于把握;它需要最小安装,并且不需要安装项目或Makefile。只需标识包含 main() 方法的应用程序中的类。对于拥有调试信息的类,Jikes 可以显示个别属性和局部变量。它与任何支持 Sun 的 Java 调试接口的 JVM 支持兼容。用 -g -debug 来编译类,以便在调试器中查看局部变量。
不幸的是,Jikes 的用户界面受到了限制。它记不住会话之间的断点和其它设置,以及所有鼠标驱动的操作。由于它是开放源码代码,所以希望用户添加增强,与开发人员社区共享他们的成果。
JD 的功能部件和功能
JD 是一个多面板的调试器。每个面板都有所执行程序的某些特征的“快照”。我们将在第 8 章中具体研究每个面板。
面板的结构如下:
Locals 显示了当前堆栈跟踪的局部变量。
Callers 显示了可执行代码所使用的堆栈跟踪或路径。
Threads 显示了当前正在运行或等待执行的线程。
Classes 显示了程序中的类。
Inspector 显示了局部变量的值。
Console 显示了所有 I/O 或错误流。可以在这个面板中输入信息或读取输出。
Source editor 显示了当前执行的类的源代码。这个面板可能会占用您很长时间。