在Ubuntu中使用JDB调试代码

在Ubuntu中使用JDB调试代码


了解JDB

JDB是JDK安装的一部分,是基于文本和命令行的调试工具,JDB是可以免费获取且平台独立的,缺点是只有命令行格式。

JDB基础命令

  1. 在方法中设置断点stop in <class ID(类名)><method(方法)>
  2. 在行中设置断点stop at <class ID>:<line>
  3. 下一步:当前行step 当前行+跳过进入函数next 当前指令stepi 执行至当前方法结束step up 执行至下一断点next
  4. 查看所在行list
  5. 查看变量值:所有变量locals 单个变量print <变量名> eval <变量名>
  6. 列出断点clear
  7. 清除断点clear <class ID>.<method> clear <class>:<line>
  8. 退出quit

调试实例

  1. 对于各命令的使用




  2. 对于JAVA课本第二章例4的调试

  3. 测试代码

public class test{
     public static void main(String [] args){
	     int N=5;
	     System.out.println(fact(N));
     }

     public static int fact(int n) {
         if (n == 0)
             return 1;
	 else
	 return n * fact(n-1);
  }
}

并修改参数N的值


调试中遇到的问题

  1. 在调试中我测试了JAVA课本第三章例9的调试,在涉及到Scanner等JAVA自带的函数时使用step会进入函数,而没有进入输入过程。

  2. 经常会遇到莫名退出。

  3. 对于step up的使用有疑问,还需要再做尝试

posted @ 2019-03-17 10:31  Jerrold_Y  阅读(219)  评论(0编辑  收藏  举报