jdb的基本用法

本文介绍了一个简单的Java程序示例,展示了如何使用JDB命令行工具进行调试。通过设置断点并逐步执行,可以观察到程序运行过程中的变量状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源代码如下:

package jvm.init; public class Example5 { public static void main(String[] args) { int a = 2; int b = 3; if (args.length < 2) { System.out.println("Must enter any two args."); return; } System.out.println(args[0] + args[1]); } }

使用JDB的方式如下:

E:\workspace_RIA\HStudy>jdb -classpath bin jvm.init.Example5 正在初始化 jdb... > stop at jvm.init.Example5:7 正在延迟 断点 jvm.init.Example5:7。 将在装入类之后对其进行设置。 > run 运行 jvm.init.Example5 设置 未捕捉到 java.lang.Throwable 设置延迟的 未捕捉到 java.lang.Throwable > VM 已启动: 设置延迟的 断点 jvm.init.Example5:7 断点命中: "thread=main", jvm.init.Example5.main(), line=7 bci=4 main[1] locals 方法参数: args = instance of java.lang.String[0] (id=323) 局部变量: a = 2 b = 3 main[1] next > 已完成步骤: "thread=main", jvm.init.Example5.main(), line=8 bci=10 main[1]

JDK 21中使用JDB(Java Debug Wire Protocol Debugger)是一个命令行调试工具,它允许用户在命令行界面中调试Java程序。要使用JDB,首先需要有一个编译好的Java程序,通常这个程序是带有调试信息的,可以使用带有`-g`选项的`javac`命令来编译。 以下是使用JDB基本步骤: 1. 编译Java程序,并包含调试信息: ``` javac -g YourProgram.java ``` 2. 启动JDB调试器: ``` jdb YourProgram ``` 3. 在JDB中,你可以使用一系列命令来进行调试,例如: - `run`:运行程序。 - `list`:列出当前类的源代码。 - `step` 或 `s`:单步执行程序,步入方法。 - `next` 或 `n`:单步执行程序,但会跳过方法调用。 - `cont` 或 `c`:继续执行程序到下一个断点。 - `print` 或 `p`:打印变量的值。 - `set`:设置变量的值。 - `where` 或 `w`:显示当前线程的调用栈。 - `kill`:停止当前正在运行的程序。 4. 设置断点,例如: - `stop in 类名.方法名`:在指定方法设置断点。 - `stop at 行号`:在指定行号设置断点。 5. 使用`run`命令开始运行程序,程序会在设置的断点处暂停执行。 6. 使用`cont`命令继续执行程序,或者使用`step`和`next`命令来逐行或逐方法执行程序。 7. 查看变量值或者程序状态,使用`print`命令。 8. 当调试完成,使用`exit`命令退出JDB。 请注意,JDB是一个基本的调试工具,它的功能比集成开发环境(IDE)中的图形化调试器要简单。对于复杂的调试任务,使用IDE提供的调试功能可能会更加方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值