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 <thread id>  设置默认线程
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 <class id>    显示类详细信息
methods <class id>  列出类方法
fields <class id>   列出类字段

stop in <class id>.<method>[(argument_type,...)]  在方法中设置断点
stop at <class id>:<line> 在某一行设置断点
  stop at MyClass:22 (在 MyClass 第22行设置断点)
  stop in java.lang.String.length (在String.length方法设置断点)
  stop in MyClass.<init>   (MyClass 构造函数)
  stop in MyClass.<clinit> (MyClass 静态块初始化方法)
clear <class id>.<method>[(argument_type,...)]  清除一个方法的断点
clear <class id>:<line>   清除某一行断点
clear                     列出所有断点

step  执行到下一行
next  执行当前栈帧下一行
cont   从断点处继续执行
exit 退出
3. 命令行选项
# jdb 也识别许多java命令选项,如-D,-classpath,-X<option>(非标准 VM 选项)
-help  显示帮助信息
-sourcepath <dir1:dir2:...>  在指定路径下搜索源文件,默认在当前目录下
-connect <connector-name>:<name1>=<value1>,...  附带参数连接到目标 JVM
-tclient  Java HotSpot™ VM (Client)
-tserver  Java HotSpot™ VM (Server)
-Joption  将选项传递给JVM,以运行jdb,如-J-Xms48m 设置堆大小
4. 调试 Hello World

更多信息,请参考:jdb

jdb - The Java Debugger的更多相关文章

  1. 十、jdk工具之Jdb命令(The Java Debugger)

    目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...

  2. 使用JDB调试Java程序

    Java程序中有逻辑错误,就需要使用JDB来进行调试了.调试程序在IDE中很方便了,比如这篇博客介绍了在Intellj IDEA中调试Java程序的方法. 我们课程内容推荐在Linux环境下学习,有同 ...

  3. 命令行工具jdb调试Java程序

    一直在gdb 下调试c/c++程序. 突然要写个java程序,又不是很喜欢使用eclipse,那怎么调试程序呢.你还可以使用 jdb. 它是jdk 内置的一个java debug工具.类似与 gdb. ...

  4. java debugger

    当你想找方法被哪个地方调用了,可以打断点看debugger方法栈 idea Debugger

  5. Debug with jdb

    原文地址: http://www.javaworld.com/article/2077445/testing-debugging/debug-with-jdb.html Q: How do you u ...

  6. Java控制台常用命令

    http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html javaw是java的带console版本,其他一致. h ...

  7. Java Basic&Security Tools

    JDK Tools and Utilities Basic Tools These tools are the foundation of the JDK. They are the tools yo ...

  8. Java版本和功能指南

    您可以使用本指南查找和安装最新的Java,了解Java发行版(AdoptOpenJdk,OpenJDK,OracleJDK等)之间的差异,以及获得Java语言功能的概述,包括Java版本8-13. J ...

  9. java jdb命令详解

    jdb - Java debugger 功能描述: 通过简单的命令行程序,对本地或远程jvm进程进行调试. 开启jdb会话: 有多种方式可以开启jdb会话. (1)常见的方式是采用Jdb命令打开一个新 ...

随机推荐

  1. CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.

    今天,在用icinga服务器端测试客户端脚本时,报如下错误: [root@mysql-server1 etc]# /usr/local/icinga/libexec/check_nrpe -H 192 ...

  2. PHPStorm如何配置,phpstorm的mac配置文件目录

    PHPStorm的配置分为2大类:项目配置和IDE配置. 项目配置(设置),主要是配置具体项目.IDE 配置(设置),通用的设置会应用到所有的项目上. 项目配置每个项目的配置存储在项目所在目录的 .i ...

  3. 初识MongoDB

    1. 初识 接触MongoDB,是由于最近在工作中用到了MongoDB做数据存储.之前也听说过这个NoSQL数据库,但是一直没有尝试去使用它做开发.这次趁着这个机会,想好好学习下这个NoSQL数据库. ...

  4. Robot Framework自动化测试 ---视频与教程免费分享

    当我第一次使用Robot Framework时,我是拒绝的.我跟老大说,我拒绝其实对于习惯了代码的自由,所以讨厌这种“填表格”式的脚本.老大说,Robot Framework使用简单,类库丰富,还可以 ...

  5. hibernate笔记--基于外键的单(双)向的一对一映射关系

    假设我们有两张表,人员信息表Person,和身份信息表IdCard,我们知道每个人只有一个身份证号,所以这里的Person和IdCard表是一一对应的,也就是一对一的映射关系,基于外键的单向一对一映射 ...

  6. wordpress上传图片时重命名--修改插件时遇到的一些问题

    wordpress是用php语言开发的博客平台,它扩展性强,容易扩展,很适合拿来做二次开发. 1,问题由来 本周五,我在浏览公司的网站(基于wordpress开发)时发现,网站首页上有两篇文章的缩略图 ...

  7. Android之实现ViewPagerIndicator

    PS:最近一直忙于学习任务,一直没有时间去写博客.今天周六,终于有时间了. 学习任务: 1.打造一个自己的ViewPagerIndicator   最近被安排了一大堆的学习任务,感觉老板还是很好的,让 ...

  8. 故障恢复和恢复模式(Crash Recovery & Recovery Models)

    数据库的恢复模型是否影响故障恢复,在简单恢复模式里,你是否会丢失事务?在今天的文章里我想谈下这点,详细讨论下. 恢复模式(Recovery Models) 对于这个问题的最简单的答案是不会:恢复模型不 ...

  9. Oracle Client安装与基本配置

    1. 安装Oracle Client, 访问Oracle站点下载Oracle Database 11g Release 2 Client 或者(直接下载Oracle 11gR2 Client) 2. ...

  10. 再次推荐一款逼真的HTML5下雪效果

    再次推荐一款逼真的下雪效果 效果图: 效果描述:之前推荐过一款下雪的jQuery插件之前的那款下降速度比较缓慢,今天推荐的这个下降速度比较快,大雪哇 使用方法:1.将index.html中的样式复制到 ...