程序调试技术(陈凯明, 徐伟) 2023秋 2022秋  课程号:CS151601
2023秋 2022秋  课程号:CS151601
8.5(2人评价)
8.5(2人评价)
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
选课类别:通识 教学类型:实验课
课程类别:一般通识 开课单位:计算机科学与技术系
课程层次:自由选修   学分:1.0
课程主页:暂无(如果你知道,劳烦告诉我们!)
简介 最后更新:

所谓程序调试是指对程序的查错和排错,本课程主要介绍程序的逻辑错误例如功能、输入和输出不符合需求分析。调试程序一般应经过以下几个步骤:

一、先进行人工检查,即静态检查。

①应当采用结构化程序方法编程,以增加可读性;

②合理注释,以帮助理解每段程序的作用;

③注意编码规范的实践。

二、在人工检查无误后,再上机调试发现语法错误。

通过上机发现词法语法错误称为动态检查,在编译时会给出语法错误的信息,调试时可以根据提示信息具体找出程序中出错之处并改正。运行程序,输入程序所需数据,就可得到运行结果。要进行仔细而周全的测试和分析,如果发现错误,这部分错误是最难查找和排除的。

三、运行结果不对,大多属于逻辑错误。对这类错误往往需要仔细检查和分析才能发现。可以采用以下办法:

1.将程序与流程图仔细对照,如果流程图是正确的,程序写错了,是很容易发现的。例如,复合语句忘记写花括弧,只要一对照流程图就能很快发现。

2.如果实在找不到错误,可以采用“分段检查”的方法。在程序不同的位置设几个printf函数语句,输出有关变量的值,逐段往下检查。直到找到在某一段中数据不对为止。这时就已经把错误局限在这一段中了。不断减小“查错区”,就能发现错误所在。

3.也可以用“条件编译”命令进行程序调试(在程序调试阶段,若干printf函数语句就要进行编译并执行。当调试完毕,这些语句不用再编译了,也不再被执行了)。这种方法可以不必一一去掉printf函数语句,以提高效率。

4.如果在程序中没有发现问题,就要检查流程图有无错误,即算法有无问题。如有则改正之,接着修改程序。

5.推荐使用各种语言编辑编译器提供的debug(调试)工具,跟踪程序并给出相应信息,使用更为方便,这是本课程要介绍的核心内容。

排序 学期

评分 评分 2条点评

  • 课程难度:中等
  • 作业多少:很少
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:很少
  • 给分:一般
  • 收获:一般

没有期末考试,总评有10分是考勤,会有几节课点名,剩下的90分是实验

课程是许老师和陈老师轮流上,主要内容是调试、汇编、黑客技术,也会有几节实验课

没有教材,每节课会发课件

个人感觉课容量还是比较大的,有些章节对于没有基础的大一新生来说还是有些困难的,但是老师讲的很详细,课件也很清楚,实验作业里也没有涉及到难的部分

14节课一共布置了7次实验,每次实验的期限是一周,发到助教邮箱,内容是调试分析错因,makefile多文件编译,一些基础的汇编知识,相比于课上内容来说是很简单的,即使上课没有听懂看课件也是可以掌握的

这门课是三节课的课程,一般不到两节课就可以讲完,剩下的时间就是去做实验

实验的具体评分细则不清楚,不过每次实验及时交分数应该不会低的

个人感觉这门课是可以选的

(最后修改于 3 0 复制链接
匿名用户 2022秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:一般

这门课发的课件很详细,对于大一新生来说,难度适中,只要仔细跟着做基本就可以顺利完成作业。

只要及时完成并提交作业,给分应该不低。

据说计算机系的同学早晚都要了解汇编和Linux,所以这个课应该是很有用的吧。

()

1 0 复制链接

陈凯明

教师主页: 戳这里

徐伟

教师主页: 戳这里

其他老师的「程序调试技术」课

陈凯明老师的其他课

程序设计II 10.0 (2) 2020春
计算机程序设计B 7.5 (2) 2023秋 2022秋
黑客反向工程技术 7.0 (4) 2019秋 2018秋...
计算机程序设计B 1.0 (1) 2022秋
离散数学 2005秋

徐伟老师的其他课

网络系统实验 7.5 (4) 2024春 2023春...