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. Linux基础命令和NAT技术

    yum    yellowdog updater,modified是一种用python写的基于rpm的管理工具 用于解决rpm包的依赖性 要安装编译工具 yum install gcc 库函数:静态库 ...

  2. asp.net core发布到linux

    在发布到linux的过程中出现两个问题现在总结一下: 我的虚拟机是安装到本机上面的,所以,应该在虚拟机的设置里面设置端口映射.具体设置如下: 选择vm上方的编辑 在弹出的框中选择VMnet8,点击下方 ...

  3. Tomcat启用GZIP压缩,提升web性能

    一.前言 最近做了个项目,遇到这么一个问题:服务器返回给客户端的json数据量太大(大概65M),在客户端加载了1分多钟才渲染完毕,费时耗流量,用户体验极其不好.后来网上搜优化的方法,就是Http压缩 ...

  4. 解决.Net Mvc跨域请求问题

    针对ASP.NET MVC和ASP.NET Web API两种项目类型 1.针对ASP.NET MVC,只需要在web.config中添加如下的内容即可 <system.webServer> ...

  5. DButils实现数据库表下划线转bean中驼峰格式

    准备: QueryRunner queryRunner = new QueryRunner();//开启下划线->驼峰转换所用BeanProcessor bean = new GenerousB ...

  6. java 中 System

    package cn.zhou.com; /* * System 类 * * 不能实列化 * * long t=System.currentTimeMillis();//用于计算程序的执行时间! * ...

  7. 使用fastjson将对象和字符串进行转换

    依赖包: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</ar ...

  8. Javassist之使用字节码在运行时生成新的类 01

    介绍 Javassist是一个开源的分析.编辑和创建Java字节码的类库.是由东京工业大学的数学和计算机科学系的 Shigeru Chiba (千叶 滋)所创建的.它已加入了开放源代码JBoss 应用 ...

  9. c++中结构体sort()排序

    //添加函数头 #include <algorithm> //定义结构体Yoy typedef struct { double totalprice;         //总价 doubl ...

  10. 法语Linux NuTyX 11 RC2 发布

    读 NuTyX是一个法语Linux发行版(具有多语言支持),由Linux From Scratch和Beyond Linux From Scratch构建,带有一个名为“cards”的自定义包管理器. ...