初学者的Java 程序调试

使用JDB调试简单递归程序

跟着娄老师的博客学习,

首先在终端使用Ctrl+Shift+T打开三个标签,方便操作。
使用Vim编辑自己的程序,练习程序如下

  1 public class Factorial {
  2     public static void main(String [] args) {
  3         System.out.println(fact(5));
  4     }
  5
  6     public static int fact(int n) {
  7         if (n == 0)
  8             return 1;
  9         else
 10             return n * fact(n-1);
 11     }
 12 }

将其存为Factorial.java文件后,使用javac -g Factorial.java对其进行编译(其中用参数 g 是为了产生各种调试信息,不然就无法调试)

在这里可以直接使用java Factorial运行。那么下一步就开始切入正题,JDB的调试

使用jdb Factorial可以开始进行调试,但是如果显示未找到调试的类,可以尝试jdb -classpath . Factorial

使用run开始执行程序的主类

设置断点使用stop命令设置断点,stop in用来设置方法断点,stop at 设置行断点。

此时可以用locals命令查看变量,list 命令来查看当前运行的代码(箭头指到地方即为当前程序运行到的地方),用cont命令进入下一条命令,也可以使用print输出变量。

具体操作可见下图


最后的最后,可以使用quitexit可以退出JDB

写博目的

练习Markdown写作
整理目前使用较多的jdb调试语法,帮助加深理解,仅供参考
还有很多未使用过的命令,可使用help查看

参考文献

使用JDB调试Java程序

JDB官方文档

猜你喜欢

转载自www.cnblogs.com/ysz-123/p/10543265.html