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 jinfo命令详解
jinfo (configuration info): 功能:输出Java进程的系统信息与jvm参数. 摘要: jinfo [ option ] pid jinfo [ option ] execut ...
- java jps 命令详解
JPS 名称: jps - Java Virtual Machine Process Status Tool 命令用法: jps [options] [hostid] options:命令选项,用来对 ...
- java jstack命令详解
名称jstack: stack trace 摘要: jstack [ option ] pid jstack [ option ] executable core jstack [ option ] ...
- jvm 性能调优工具之 jps 命令详解
JPS名称:jps - Java Virtual Machine Process Status Tool命令用法:jps [options] [hostid] options:命令选项,用来对输出格式 ...
- 把java文件打包成.jar (jar命令详解)
把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...
- java之jar命令详解
1. JAR 文件包 JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式.JAR 文件非常类似 ZIP 文件——准确的说, ...
- android adb 命令详解
ADB (Android Debug Bridge) 是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...
- LINUX的磁盘管理du命令详解
LINUX的磁盘管理du命令详解 du(disk usage)命令可以计算文件或目录所占的磁盘空间.没有指定任何选项时, 它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作 ...
- Linux下的压缩zip,解压缩unzip命令详解及实例
实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ====================== ...
随机推荐
- 微信web开发者工具初探
最近需要在微信企业号中挂接网页,之前也没有接触过微信开发,刚开始也不知道怎么调试,后来同事介绍使用“微信web开发者工具”,于是在网上下了一个,使用了一下的确很好用.它不仅支持Android和IOS同 ...
- js script中引用其他script
在需要引用目标js中引用其他js依赖项 可以使用这个方法直接在js顶部加入这一行即可 document.write("<script type='text/javascript' sr ...
- Global.asax 文件是什么
Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序安全性以及其它一些任务.下面让我们详细看 ...
- 老男孩python自动化运维作业2
拿到要求真不知道怎么写,不能还要写个商城页面吧: 最后还是用了input()模拟用户操作吧- -!不就操作个字典吗(字典模拟商品数据). python版本: >>>import sy ...
- Yii2 中日志的记录
Yii2自带日志记录,但用起来感觉比较不是很顺手,故自己封装了个方法,如下: /** * 记录日志 * * @param type $msg * @time 2015年8月31日17:46:20 * ...
- hibernate的update() 更新延迟或者无法更新,导致同个service调用存储过程执行方法不精确
hibernate的update()方法无法更新,不报错 原因是hibernate的update方法操作的是缓存,可以flush下先. 设置缓存为false理论上也可. 在一个serivce方法里,执 ...
- jsp中,个别乱码进行转码操作
来自大神 if(xh!=null && xh!=""){ xhmc =new String(xh.getBytes("ISO-8859-1"), ...
- gcc 常用命令行及解释
gcc - GNU project C and C++ compiler gcc [option] file... preprocessing compila ...
- js execCommand
JavaScript中的execCommand()命令详解及实例展示 标签: javascriptbuttonfunctioninputobjectdelete 2012-05-07 16:08 14 ...
- The Factory pattern
public class Factory { public static void main(String[] args) {//Client IFruit fruit=Factorytemp.get ...