JDB调试程序

  • 调试代码
public class SumofRecur1{
public static void main(String[] args) {
int i = 0;
for(String arg:args){
i=Integer.parseInt(arg);
}
int sum = 0;
for(int j = 1; j<=i; j++){
sum = sum+fact(j);
}
System.out.println(sum);
} public static int fact(int n) {
if(n==0)
return 1;
else
return n*fact(n-1);
}
}
  • JDB调试

    • 命令行传入3:jdb java bin/xxx 3
    • 提交N=1 , N=2, N=3时的结果截图

出现的错误

  • 没有在命令行传入数值,单步执行时没有值,显示null

总结

对jdb调试相关知识掌握不够全面,虽然在下课前做出来了却因为截图有些慢错过了提交时间

jdb调试操作方法

  • 编译:javac -g <java>,一定要加上-g启动jdb
  • 进入jdb:jdb -classpath .:./bin <class>
    • 如果要在命令行输入数值的话就直接在后面加上数值jdb -classpath .:./bin <class> <数值>
  • help:遇到不懂的操作步骤直接在jdb中输入help打开帮助界面
  • 断点:
    • 方法断点:stop in <class>.<method>
    • 行断点:stop at <class>:<line>
    • 越过断点:cont,例如使用stop at xxx:xxx后停在某循环前,使用cont直接跳过整个循环得出结果,不必在循环内一直next
    • 查看断点:clearstop
  • 执行:
    • run:设置完第一个断点后运行程序
    • step:单步调试,进入方法逐步调试
    • next:单步调试,直接完成方法执行
  • 查看结果:
    • print <参数名>eval <参数名>:查看参数的当前值
    • list:列出全部代码与执行情况,但之前要用use ./src指出源代码位置
  • 退出jdb:exitquit

便捷操作方法

  • Shift+Ctrl+T打开多个页面,通过Alt+数字(代表页面)来切换窗口,做到脱离鼠标,节省时间

20165223 week4测试补交与总结的更多相关文章

  1. 20165223 week2测试补交与总结

    测试题二 题目: 在Ubuntu或Windows命令行中 建如下目录结构 Hello.java的内容见附件package isxxxx; (xxxx替换为你的四位学号) 编译运行Hello.java ...

  2. 课下测试补交(ch03 ch08)

    课下测试补交(ch03 ch08) 课下测试 ch03 1.有关gdb调试汇编,下面说法正确的是(ABCE) A . 可以用disas反汇编当前函数 B . 以16进制形式打印%rax中内容的命令是 ...

  3. 课下测试补交(ch01、ch02、ch07)

    课下测试补交(ch01.ch02.ch07) 课下测试ch01 1.Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比.(B) A . 正确 B . 错误 解析:课本 ...

  4. # 课下测试补交(ch01)20155337

    课下测试补交(ch01) 1.Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比.(B) A .正确 B .错误 解析:Amdahl定律,该定律的主要思想是,当我们对 ...

  5. 20155226 mini DC 课堂测试补交

    由于电脑突然出了点问题,我没有完成mini DC这个测试,现将测试内容及结果补交 题目如下 提交测试截图和码云练习项目链接,实现Linux下dc的功能,计算后缀表达式的值 代码如下 MyDC.clas ...

  6. 20165223 week1测试查漏补缺

    week1查漏补缺 经过第一周的学习后,在蓝墨云班课上做了一套31道题的小测试,下面是对测试题中遇到的错误的分析和总结: 一.背记题 不属于Java后继技术的是? Ptyhon Java后继技术有? ...

  7. 第七周 ch04 课下测试补交

    2017-2018-1 20155335 <信息安全系统设计基础>第7周 课下测试博客 本人不慎忘记去交dao'zhi 测试题目: SEQ+对SEQ的改变有() A . PC的计算挪到取指 ...

  8. 20165223 week6测试错题总结

    由于时间预估错误及手机自身卡顿问题,虽然已经作答完成,却在最后提交时出现错误,错失提交时间,所以没能按时提交答案,也就没有纠错,以下仅凭印象列出错题: Q1:若超出JVM运行能力,如"byt ...

  9. 第六周测试补交 多线程代码和sumN

    1.多线程代码 要求:编译运行多线程程序,提交编译和运行命令截图 2.sumN 要求:1-N求和的截图

随机推荐

  1. react初入门

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. oracle事务的四个特性(ACID)

    事务产生的背景 当在PL/SQL中同时操作多个SQL语句,比如通过DML语句添加.修改或删除数据时,如何确保数据库数据不会因为意外而倒置错误数据是一个非常重要的问题. 以仓库发料系统为例,如果某一张领 ...

  3. CentOS7安装k8s

    借鉴博客:https://www.cnblogs.com/xkops/p/6169034.html 此博客里面有每个k8s配置文件的注释:https://blog.csdn.net/qq_359048 ...

  4. HeapSter安装(k8s1.12以后废弃了)

    HeapSter InfluxDB(持久存储) Grafana 展示InfluxDB的数据(类似kibana) #安装InfluxDB #github https://github.com/kuber ...

  5. 关于Linux系统下jdk版本切换问题(alternatives命令的使用)

    [root@danny lib]# cd /usr/lib/jvm [root@danny jvm]# [root@danny jvm]# ls java java--openjdk-.b13.el7 ...

  6. 老男孩python学习自修第十四天【序列化和json】

    序列化是使用二进制的方式加密列表,字典或集合,反序列化是解密的过程:序列化开启了两个独立进程进行数据交互的通路 使用pickle进行序列化和反序列化 例如: pickle_test.py #!/usr ...

  7. Python自动化运维之pexpect从入门到精通

    1. 应用场景 模拟ssh, telnet远程登录, 模拟ftp文件上传 2. 安装 参考资料: <pexpect实例分析>https://www.ibm.com/developerwor ...

  8. Python——列表操作

    一.列表中所有元素出现的次数,并输出为字典模式 def count_list(list): b_list = {} for i in set(list): b_list[i] = list.count ...

  9. Mybatis -SqlMapConfig.xml环境配置

    SqlMapConfig.xml的配置内容和顺序如下(顺序不能乱): Properties(属性) Settings(全局参数设置) typeAliases(类型别名) typeHandlers(类型 ...

  10. vue 使用技巧总结 18.11

    前言: 在大概学完 vue 整体框架后,有幸接触到花裤衩大神写的 vue-elementUI-admin 模板框架,把这个模板框架当作 demo,跟着 code 一遍,最大的收获是在以逻辑简单的模板熟 ...