java jdb命令详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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命令详解的主要内容,如果未能解决你的问题,请参考以下文章

Java的jps命令使用详解

转帖windows命令行中java和javacjavap使用详解(java编译命令)

JAVA 命令参数详解:-D

JVM命令参数详解

JVM命令参数详解

java jinfo命令详解