启动java进程时加上如下的参数:
java -agentlib:jdwp=transport=dt_socket,address=8004,server=y,suspend=n HelloWorld
jdwp :一种java 的远程调试协议
jdwp=transport=dt_socket 这个是标准写法
address=8004 指定端口号,可以自定义
suspend=n 表示直接运行程序,当有调试端attach上来之后可以进一步动作
suspend=y 表示不运行程序,知道调试端发出run 命令后才运行
调试端:
jdb -attach xxx.xxx.xxx.xxx(ip): 8004(上边自定义的那个端口号)
调试命令:
run 启动
stop at HelloWord:5 设置断点
locals 查看当前变量
dump tem 看类对象的具体内容
use /ch-02 声明代码地址,声明到包的开头
list 查看当前执行到的代码位置
next 执行下一行
cont 继续执行
clear 列出当前断点
clear HelloWord:5 清除这个断点
exit 退出