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. C#设计模式之7:适配器模式

    适配器模式 使用适配器模式的一个重要的点是首先要识别出什么代码(接口)是已经存在的,什么代码(接口)是新的,需要去适配的.适配器的作用是让旧的(现有的)接口能够匹配新的系统(要去适配的). 比如有下面 ...

  2. Oracle NVL空值处理函数

    --NVL空值处理函数 --需求:显示价格表中业主类型ID为1的价格记录 如果上限值为null,则显示9999999 ) from dual; select * from t_pricetable ) ...

  3. SQL Server 2014备份维护计划

    1.      数据库 -> [管理]-> [维护计划]  -> [新建维护计划](如果没有操作过可以,选择“维护计划向导”): 2.      直接点击下一步,然后填写计划名称.说 ...

  4. laravel5.3安装redis扩展包

    1,编辑 laravel 根目录下的 composer.json 文件: "require": { "php": ">=5.6.4", ...

  5. LAMP 版本查看

    mysql 1 在终端下执行 mysql -V 2  mysql --help |grep Distrib 3 在mysql 里查看 select version() 4 在mysql 里查看 sta ...

  6. 莫烦theano学习自修第一天【常量和矩阵的运算】

    1. 代码实现如下: #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ # 导入numpy模块,因为numpy是常用的计算模块 import numpy as ...

  7. font_awesome的icon库的使用

    1.使用cdn引入font_awesome图标库的css文件 例如:index.htm <html><head><title>font_awesome test&l ...

  8. 数据库迁移(创建关联等操作) Target database is not up to date报错

    使用Mysql-sqlalchemy执行数据库迁移 来更新数据库: 队长试探性的在网上找了几种方案 依然没有解决报错问题: 后来看了https://www.aliyun.com/jiaocheng/4 ...

  9. vscode git设置

    vscode只能打开一下界面: 在setting.path增加git.path选项,再使用linux的方法配置路径,就是使用D:/../bin/git.exe而不是\\ 重启vscode,git设置即 ...

  10. LoadRunner Vuser测试脚本添加前置条件举例

    调用接口前需要先获取登陆token,放入消息头中. /* * LoadRunner Java script. (Build: 3020) * * Script Description: 接口性能测试脚 ...