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命令详解的更多相关文章

  1. java jinfo命令详解

    jinfo (configuration info): 功能:输出Java进程的系统信息与jvm参数. 摘要: jinfo [ option ] pid jinfo [ option ] execut ...

  2. java jps 命令详解

    JPS 名称: jps - Java Virtual Machine Process Status Tool 命令用法: jps [options] [hostid] options:命令选项,用来对 ...

  3. java jstack命令详解

    名称jstack: stack trace 摘要: jstack [ option ] pid jstack [ option ] executable core jstack [ option ] ...

  4. jvm 性能调优工具之 jps 命令详解

    JPS名称:jps - Java Virtual Machine Process Status Tool命令用法:jps [options] [hostid] options:命令选项,用来对输出格式 ...

  5. 把java文件打包成.jar (jar命令详解)

    把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...

  6. java之jar命令详解

    1. JAR 文件包 JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式.JAR 文件非常类似 ZIP 文件——准确的说, ...

  7. android adb 命令详解

    ADB (Android Debug Bridge)  是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...

  8. LINUX的磁盘管理du命令详解

    LINUX的磁盘管理du命令详解 du(disk usage)命令可以计算文件或目录所占的磁盘空间.没有指定任何选项时, 它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作 ...

  9. Linux下的压缩zip,解压缩unzip命令详解及实例

    实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ====================== ...

随机推荐

  1. String和string的区别(C#)

    从位置讲: 1.String是.NET  Framework里面的String,小写的string是C#语言中的string 2.如果把using System;删掉,没有大写的String了,Sys ...

  2. [刘阳Java]_斗胆介绍一下Eclipse快捷键大全[超详细]_第6讲

    斗胆让我在这里介绍一下Eclipse快捷键有哪些 ctrl+shirt+r 打开资源 这组快捷键可以让你开打Eclipse工作区中任何一个文件,你只需要输入你想查找的文件名字即可,而且绝对支持模糊检索 ...

  3. js操作document文档元素 节点交换交换

    <input type="text" value="1" id='text1'> <input type="text" v ...

  4. Keepalived 配置实例

    Keepalived 是一款轻量级HA集群应用,它的设计初衷是为了做LVS集群的HA,即探测LVS健康情况,从而进行主备切换,不仅如此,还能够探测LVS代理的后端主机的健康状况,动态修改LVS转发规则 ...

  5. 近期微博吐槽言论存档,涉及“性能优化”、C++陋习等

    写C++程序的几个陋习:class 名以大写 C 开头,例如 CDate:成员变量以 m_ 开头:变量采用匈牙利命名法:不知道何时禁用 copy-ctor/assign operator.前三个可能是 ...

  6. Spring 4 官方文档学习(十五)CORS支持

    1.介绍 由于安全原因,浏览器禁止AJAX请求不在当前域内的资源.例如,你在一个浏览器标签中检查你的银行账户时,可能在另一个标签中打开了evil.com .来自evil.com的脚本绝对不可以用AJA ...

  7. Linux分析日志获取最多访问的前10个IP

    原文地址:http://xuqq999.blog.51cto.com/3357083/774714 apache日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问 ...

  8. cv_prj2

    Computer Vision Project 2 – Harris Corner Detector 姓名: 王兴路 学号: 3140102282 指导老师: 宋明黎 2016-12-16 19:30 ...

  9. Spark如何使用Akka实现进程、节点通信的简明介绍

    <深入理解Spark:核心思想与源码分析>一书前言的内容请看链接<深入理解SPARK:核心思想与源码分析>一书正式出版上市 <深入理解Spark:核心思想与源码分析> ...

  10. 记录Gzip函数

    仅仅作个日志而与 public static function compress(param1:ByteArray) : ByteArray { var _loc_2:ByteArray; var _ ...