《数据结构与面向对象程序设计》实验一报告

学号 2019-2020-1 《数据结构与面向对象程序设计》实验一报告

课程:《程序设计与数据结构》
班级: 1823
姓名: 张子正
学号:20182304
实验教师:王志强
实验日期:2019年9月9日
必修/选修: 必修

1.实验内容

• 基于命令行和IDE(Intellj IDEA 简易教程](http://www.cnblogs.com/rocedu/p/4421202.html)进行简单的Java程序编辑、编译、运行和调试。(本次实验主要使用命令行的方式)
• 练习Linux基本命令;
• 学习Java程序的JDB调试技能:https://www.cnblogs.com/rocedu/p/6371262.html
• 编写简单的Java程序。

2. 实验过程及结果

  • 1.编写一个java测试程序

  • 2.编译运行 javac -g -d bin src/HelloJDB.java

  • 3.单步调试 先输入: jdb -classpath .:./bin HelloJDB
    设置断点:stop in HelloJDB.main
    然后使用run运行, list打出运行到程序哪一步, next运行下一步

3. 实验过程中遇到的问题和解决过程

  • 问题1:jdb找不到.java文件,list无结果

  • 问题1解决方案:把src中的.java文件复制一份到bin中,就可以显示list的表。但我没有弄懂原理,我们其实可以直接使用 use命令如 use ./src 指出源代码位置

  • 问题2:无法调试

  • 问题2解决方案:一定要按指定方法编译,注意 -g -d 必须要加

  • 问题3:调试中next与step有什么区别,stop in与stop at 有什么区别

  • 问题3解决方案:step会进入方法体,即进入调用的类。next则会把方法执行完,所以一般单步调试时next效率更高。
    stop in 用来设置方法断点,stop at用来设置行断点,方法断点一般在main()处,我们可以用 stop at HelloJDB:12在12行设置行断点,运行cont一下子循环进行完并停在12行。

其他(感悟、思考等)

  • 要搞清楚目录的从属关系,打开正确的目录运行程序
  • 注意不要将指令输错,即使有细微的错误程序也无法正常执行

参考资料

posted @ 2019-09-13 12:36  20182304张子正  阅读(263)  评论(0编辑  收藏  举报