zoukankan      html  css  js  c++  java
  • 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 查看源代码:

  • 相关阅读:
    layui实现复选框全选,反选
    Lambda表达式详解
    母版页 VS shtml—ASP.NET细枝末节(3)
    无废话WCF入门教程一[什么是WCF]
    String.Format用法
    C#基础--之数据类型
    簡單SQL存儲過程實例
    SQL Server 存储过程
    存储过程详解
    sql语句分页多种方式ROW_NUMBER()OVER
  • 原文地址:https://www.cnblogs.com/tulianghui/p/5930114.html
Copyright © 2011-2022 走看看