java debugger_jdb - The Java Debugger

jdb 是一个简单的命令行调试器,可以调试本地或远程 Java Virtual Machine。jdb [ options ] [ class ] [ arguments ]

options 命令行参数

class  调试的类名称

arguments main函数的参数

1. 开始调试有两种方式启动调试,一个是新启动一个 JVM 加载指定的类,然后在开始执行指令时停止;另一个是连接到一个正在运行的 JVM。具体方法如下。(1) C:\> jdb MyClass

(2) C:\> java -agentlib:jdwp=transport=dt_shmem,address=jdbconn,server=y,suspend=n MyClass  C:\> jdb -attach jdbconn

2. jdb 基本操作命令help, or ? 显示帮助信息

run [class [args]] 执行 main 方法

threads 列出正在运行的线程

thread 设置默认线程

where 转储线程堆栈

print 显示Java对象(简短描述)或原始数据类型值,若要显示本地变量在编译时需添加 -g 参数

print 支持简单的Java表达式,如下:

print MyClass.myStaticField

print myObj.myInstanceField

print i + j + k (i, j, k are primities and either fields or local variables)

print myObj.myMethod() (if myMethod returns a non-null)

print new java.lang.String("Hello").length()

dump 原始类型打印值,对象打印每个字段(静态和实例)的当前值,同print也支持表达式

locals 输出当前栈帧本地变量

classes 列出当前已知的类

class 显示类详细信息

methods 列出类方法

fields 列出类字段

stop in .[(argument_type,...)] 在方法中设置断点

stop at : 在某一行设置断点

stop at MyClass:22 (在 MyClass 第22行设置断点)

stop in java.lang.String.length (在String.length方法设置断点)

stop in MyClass. (MyClass 构造函数)

stop in MyClass. (MyClass 静态块初始化方法)

clear .[(argument_type,...)] 清除一个方法的断点

clear : 清除某一行断点

clear 列出所有断点

step 执行到下一行

next 执行当前栈帧下一行

cont 从断点处继续执行

exit 退出

3. 命令行选项# jdb 也识别许多java命令选项,如-D,-classpath,-X(非标准 VM 选项)

-help 显示帮助信息

-sourcepath

5f7b93cec9579ca1af11f138aa724867.png39e2138dbc5614229f8c265d07ae9659.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值