调试。

以前咱们写课后习题,一般也不需要使用调试,如果程序编译error,根据错误信息就可以改好;如果是结果错误,那么在稿纸上过几遍基本也可以得出结果。
但咱们这个课设比较大,就需要很多调试的过程,尤其是在链表/开关变量的调试上。其实我对调试也不是很了解,但我跟大家分享一些我所接触到的调试方式。

F10和F11是非常常用的,两者的区别是F11是单步调试,但是会进入到子函数中。F10的话也是单步,但是会跳过模块。感觉平时用F10更多一些。在
用单步调试时,监测变量的窗口可以智能显示出你可能要看的变量的值,相当方便。比如咱们可以用单步调试的功能,看看程序的流程是怎么走的,这样可以看出很
多问题,比如程序的条件判断、分支流程是不是走错了。

说到变量监测,也可以手动添加你想看的变量,甚至是表达式的值。可能需要手动添加,很方便,大家自己看一看。

但是咱们的课设有个很大的障碍,就是在EasyX编出来的窗口运行时,似乎是不能同时调试的,如果想调试,就得把运行中断,或者说暂停;还有一个问题,就
是如果程序写了很长,但咱们只需要在一个小部分中单步调试,总不能从头单步调试吧?或者有一个循环循环了几百次,但用单步调试的话就得按好几百次按键。所
以咱们经常需要使用断点这个功能。在代码的行数左侧的空白处单击一下,就可以添加一个红色的实心圆,这就代表添加了一个断点。在调试模式下,程序运行到断
点时就会暂停。这时候就可以比较方便的看变量的值,按需做出调整。举个例子,咱们在需要仔细单步调试的部分之前添加一个断点,想办法让程序运行到断点,程
序会暂停,然后就可以用F10一步一步的走。

咱们一般是用F7进行编译,Ctrl+F5运行,而F5就是调试。断点的话也有快捷键,但一般用鼠标来点就够用了。

条件断点也是个很不错的功能,可以有条件地中断程序。其实C语言中还有个很好用的断言功能,但我也没怎么用过,暂且按下不表。断言功能举个例子,比如我有
个变量,flag_status,如果是1就运行程序,0是暂停程序。那咱们可以在某处添加一个断点,断点的条件是"1 ==
flag_status",那就只有在程序在运行状态时才会执行这个断点。这个用处还是挺多的,可以节省很多调试的时间或者脑力。

其实咱们这个课设的弹性是很大的,我个人的感受是,有些微小的BUG改起来是极为耗费时间和脑力的,有些BUG越改问题越多,但改完以后,很可能都不会被
看你程序的人注意得到。所以很多调试工作在我看来都是一个对自己负责的工作,而不是对老师,或者是对最后的分数负责的工作。

C语课设心得分享(三)的更多相关文章

  1. C语课设心得分享(二)

    咱们今儿说说IDE的事儿. IDE是「集成开发环境」的意思,比如咱们常用的VC6.0,就是开发C语言所用的IDE的一种.对于IDE的认识,可能有些朋友有点儿模糊,咱们捋一捋,我也会给出一些IDE方面的 ...

  2. C语言课设心得分享(一)

    今儿上完课设,老师果然讲的比较少,周四还不用去,看来还是学生自己折腾.我在做课设的过程中,攒了一些心得/体会,希望能和大家分享分享,也希望能一起探讨探讨.如果是我能回答的问题,我很乐意能够提供帮助. ...

  3. 将C语课设传到了Github和Code上 2015-91-18

    一直听说Git好使,以前捣鼓过没弄成,现在考完试了终于可以静下心来研究研究. 哎,我要是当时做课设的时候就用Git,也能省下不少事呢. 使用的Git教程,刚看个开头: 廖雪峰的Git教程 http:/ ...

  4. 计算机网络课设之基于UDP协议的简易聊天机器人

    前言:2017年6月份计算机网络的课设任务,在同学的帮助和自学下基本搞懂了,基于UDP协议的基本聊天的实现方法.实现起来很简单,原理也很简单,主要是由于老师必须要求使用C语言来写,所以特别麻烦,而且C ...

  5. 【js课设】电子画板01

    这学期web开发课的课设选了电子画板课题.(人家本来想做富文本编辑器的嘛然鹅老师在第二版里把这题删掉了。゚ヽ(゚´Д`)ノ゚。) 主要考虑的有[界面美观][画笔类型][画布分层]这三个点了. [界面美 ...

  6. C语言课设——电影院选票系统

    C语言课设--电影院选票系统 1.课题介绍 大家都爱看电影,现请参考一个熟悉电影票预订系统,实现C语言版的订票系统.了解订票如何实现的.系统主要有2类用户:管理员用户和顾客用户. 管理员用户 1.电影 ...

  7. 2018-2019学年第一学期Java课设--魔塔

    目录 Magic-Towers 一.团队名称.团队成员介绍.任务分配 团队名称:MoTa 团队成员介绍 任务分配 二.项目简介 三.项目采用技术 四.项目亮点 主界面显示主要信息功能 游戏动画 五.项 ...

  8. Putty的噩梦——渗透工具PuttyRider使用心得分享

    我们在入侵到一台主机的时候,经常会看到管理员的桌面会放着putty.exe,这说明有很大的可能性管理员是使用putty远程管理主机的. 该工具主要是针对SSH客户端putty的利用,采用DLL注入的方 ...

  9. Qt在线技术交流之OpenGL、Quick以及所经历项目开发心得分享

    时间:3月25日晚上7:30 主题:Qt在线技术交流之OpenGL.Quick以及所经历项目开发心得分享 直播:http://qtdream.com 主页.全民TV,可能会加上其他的直播平台进行转播 ...

随机推荐

  1. 【转载】ANSYS有限元分析中的单位问题

    原文地址:http://www.cnblogs.com/ylhome/archive/2009/02/26/1398756.html ansys中没有单位的概念,只要统一就行了.所以,很多人在使用时, ...

  2. [NOIP2009] 靶形数独(搜索+剪枝)

    题目描述 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他 们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向 Z 博士请教, Z 博士拿出了他最近发明的 ...

  3. 调Windows 7的图片浏览器查看图片

    public static void viewPicFromWindows(string pPicPath) { if (pPicPath!="" && Syste ...

  4. 【转】linux 编译安装nginx,配置自启动脚本

    linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...

  5. volley_之2

    一开始会不会觉得有点怔,为什么只需要将请求添加到队列中,不需要去发送请求吗?当然是要的,只是这一切都被封装在Volley后面而已. 我们先来看一下隐藏在Volley后面的这个架构是怎么样的吧,如下图: ...

  6. src与href属性的区别

    src和href之间存在区别,能混淆使用.src用于替换当前元素,href用于在当前文档和引用资源之间确立联系. src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在 ...

  7. django Q和F查询

    Q查询——对对象的复杂查询F查询——专门取对象中某列值的操作 Q查询1.Q对象(django.db.models.Q)可以对关键字参数进行封装,从而更好地应用多个查询,例如: from django. ...

  8. Dapper ORM 用法—Net下无敌的ORM

    假如你喜欢原生的Sql语句,又喜欢ORM的简单,那你一定会喜欢上Dapper这款ROM.点击下载Dapper的优势:1,Dapper是一个轻型的ORM类.代码就一个SqlMapper.cs文件,编译后 ...

  9. SimpleDateFormat做成员或者静态成员多线程安全隐患

    转自:http://blog.csdn.net/jeamking/article/details/7183958 有时我们在同一个类中都是使用同一种日期格式,又或者为了减少new SimpleDate ...

  10. div背景图片叠加

    .box1{   width: 500px;   height: 500px;   background: url("")no-repeat,url("")no ...