JDK 工具学习系列(四):jdb 命令与 JPDA 调试架构简介
官方解释:
jdb - find and fix bugs in Java platform programs
1. 什么是 jdb?
jdb 是 JDK 自带的命令行调试工具,用于查找和修复 Java 平台程序中的 bug。它允许开发者在命令行下设置断点、单步执行、查看变量、监控线程等,是 Java 调试的基础工具之一。
2. JPDA 简介
JPDA(Java Platform Debugger Architecture)是 Java 官方提供的一套调试架构,支持本地和远程调试。JPDA 由三部分组成:
- JDI(Java Debug Interface):调试前端 API,IDE 用它开发调试功能。
- JVMTI(JVM Tool Interface):JVM 内部的工具接口,负责底层调试支持。
- JDWP(Java Debug Wire Protocol):调试协议,前端和 JVM 之间的数据通信。
主流 IDE(如 IntelliJ IDEA、Eclipse)和 jdb 都是基于 JPDA 实现调试功能的。
3. jdb 基本功能
- 设置断点(按方法或行号)
- 单步执行代码
- 查看和修改变量值
- 监控线程和堆栈
- 跟踪异常
4. jdb 常用命令示例
# 编译时加调试信息
javac -g TestJdb.java
# 启动调试
jdb TestJdb
# 设置断点
stop at TestJdb:11
stop in TestJdb.add
# 运行程序
run
# 查看变量
print x
print y
# 单步执行
step
# 继续运行
cont
# 退出调试
quit
5. 使用建议
- 编译时加
-g参数,确保调试信息完整。 - 适合命令行环境下快速定位和修复 Java 程序问题。
- 适合学习 Java 调试原理和底层机制。
6. 参考链接
jdb 是 Java 开发者必备的调试工具之一,掌握它有助于深入理解 Java 程序的运行和调试机制。JPDA 架构则是所有 Java 调试工具的基础,了解它能帮助你更好地使用各种调试工具。