命令行工具jdb调试java程序

一直在gdb 下调试c/c++程序。

突然要写个java程序,又不是很喜欢使用eclipse,那怎么调试程序呢。你还可以使用 jdb。

它是jdk 内置的一个java debug工具。类似与 gdb。不过功能稍弱,但也已经很值得敬佩了。

假如你的java源代码是 hello.java 文件。那么你需要编译的时候加上 -g 选项。这一点和 gdb 一致。怎么做?

javac -g hello.java

此时会生出一个 hello.class的文件。现在可以调试了。类似于 java命令一样,jdb也仅仅需要加上类名(不需要 .class)

jdb hello

加载成功后,我们通常会在 main函数的位置加上断点。怎么做?

stop in hello.main

如何查看被成功加入的断点?

clear

成功后,运行程序。

run

此时程序暂停到main函数的第一行

我们可以源代码

list

包含等号和大于号的行是当前即将执行的行。仅仅执行当前行,怎么做?

step

如果要查看某个变量的值比如变量 i的值。怎么做?

print i

dump i

eval i

如果你认为这个值是错的,比如它是1,可是你需要是2。如何修改它?

set i = 2

如何显示当前堆栈帧中的所有本地变量

locals

想要执行并跨过某个函数。怎么做?

next

想要一次只执行一个指令。怎么做?

stepi

这一点和gdb是一致的。

从当前位置直接执行到程序结束(或者下一个断点或信号)

cont

想要重复执行最后一个命令?

!!

将某个命令重复执行n次?

<n> <命令>

写出所有帮助

help

?

查看jdb的版本号

version







  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值