一直在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 = 

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

locals

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

next

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

stepi

这一点和gdb是一致的。

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

cont

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

!!

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

<n> <命令>

写出所有帮助

help

?

查看jdb的版本号

version

最新文章

  1. IIS和tomcat共用80端口
  2. oracle怎样用触发器将一张表的数据添加到另外一张表中
  3. JavaScript 变量、函数与原型链
  4. (medium)LeetCode 238.Product of Array Except Self
  5. FITS 基本格式及其扩展
  6. 流式数据分析模型kafka+storm
  7. BFC是什么及能用它能做什么
  8. Java自动内存管理机制学习(一):Java内存区域与内存溢出异常
  9. nginx之代理websocket
  10. Ubuntu 下使用 putty并通过 ch340 usb 串口线进行调试
  11. springMVC(五): 通过 HandlerMapping 获取 HandlerExecutionChain
  12. vs2008快捷键一览表
  13. AI 概率论
  14. nginx.conf 集群完整配置
  15. 小程序scss页面布局
  16. Android实现选择题答题(包括单选、多选和答题卡)
  17. 3-具体学习git--reset回到过去的版本(commit间穿梭),checkout单个文件穿梭
  18. Linux 文件编码格式转换
  19. 【2018年12月05日】滚动市盈率PE最低排名
  20. Error creating bean with name &#39;sessionFactory&#39; defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unable t

热门文章

  1. Linux知识点总结
  2. java图像加密
  3. 格式化字符串--format用法
  4. 通过自动回复机器人学Mybatis:搭建核心架构
  5. 【BZOJ4671】(斯特林反演)
  6. python图片文字识别笔记
  7. 利用MacBookPro入侵无线网络
  8. 线程的sleep()方法和yield()方法区别
  9. BZOJ-5424: 烧桥计划(单调队列)
  10. Kruskal算法-最小生成树