首页 > 代码库 > java jdb命令详解
java jdb命令详解
jdb - Java debugger
功能描述: 通过简单的命令行程序,对本地或远程jvm进程进行调试。
开启jdb会话: 有多种方式可以开启jdb会话.
(1)常见的方式是采用Jdb命令打开一个新的jvm进程进行调试. 通过将jvm进程启动命令的java替换成jdb就可以了。
通过此方式启动jdb会话,将开启一个jvm进程,加载指定的class, 并停在第一条执行的指令前。
如: 当前目录有Java源文件 Test.java, 经过 javac -g Test.java 编译生成包含调试信息的Test.class
开启调试: jdb -classpath . Test
(2)将jdb attache到一个已经在运行的jvm进程. 被调试的进程必须按照如下命令启动:
启动被调试的jvm:java -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -classpath . jdb.JdbTest
启动jdb attache到已经启动的jvm:
jdb -attach 8000 -sourcepath /Users/wefit/Development/study/java/jtest/src/
解释:jdb.JdbTest : 启动的被调试jvm
address=8000: attache的端口
-sourcepath : 指定源文件所在路径, 在jdb中可以list 查看源代码。
常用命令:
刚attache上jvm时, 需要指定调试的线程, 首先用threads查看线程列表.
用thread命令指定特定线程:
设置断点:
clear 查看已经设置的断点:
清除断点:
clear jdb.Test:38
查看本地变量:
查看变量dump
list 查看源代码:
java jdb命令详解