JDK 工具学习系列(四):jdb 命令与 JPDA 调试架构简介

184 阅读2分钟

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 调试工具的基础,了解它能帮助你更好地使用各种调试工具。