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. [转帖]wifi 4G 和 蓝牙的区别

    作者:沈万马链接:https://www.zhihu.com/question/64739486/answer/225227838来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  2. DLNA流媒体设置

  3. webpack+vue 我的视角(持续更新)

    最近一直在研究webpack+vue的组合拳,现在分享一下: webpack就是一个项目管理工具,可以各种模块化加载,然后压缩,当然还有热加载技术(时灵时不灵..) vue是mv*模式的框架,组件化开 ...

  4. flutter开发vscode用模拟器调试

    android studio的太重,我装的是android sdk,使用avd的模拟器启动黑屏 启动夜神模拟器(已卸载) 建立连接: adb connect 127.0.0.1:62001    (夜 ...

  5. Hbase 架构体系

    有2个节点进程,一个是master,另一是regionserver.

  6. C#中List<T>排序

    在面向对象开发过程中我们经常将一组对象放到一个特定集合中,此时我们通常使用泛型集合来存放,常见的如:List.Dictionary等.在使用这些泛型集合时我们有时需要对其进行排序,下面我们就一起学习下 ...

  7. python functools.wraps functools.partial实例解析

    一:python functools.wraps 实例 1. 未使用wraps的实例 #!/usr/bin/env python # coding:utf-8 def logged(func): de ...

  8. Ubuntu16.04 启动纯文本界面方法

    问题: Ubuntu16.04 如何启动纯文本界面. 解决方法: 1.系统启动后,在登陆界面点击Ctrl+Shift+F1切换到文本登陆界面: 2.修改为默认从文本界面登陆: sudo vi /etc ...

  9. Codeforces 714A 朋友聚会

    参考自:https://www.cnblogs.com/ECJTUACM-873284962/p/6395268.html A. Meeting of Old Friends time limit p ...

  10. POJ2763-Housewife Wind-树上单点修改区间求和

    这道题可以树链剖分做.但是最近在给学弟搞数据结构复习了LCA树状数组RMQ 然后就搞了一发LCA+树状数组维护. dis数组维护当前点到根节点的权值和.则dis(u,v) = dis[u]+dis[v ...