C语言调试环境,vs2017怎么编写c语言并进行调试
在编程的过程中,经常会出现一系列的bug。发现bug的过程就是调试。
优秀的程序员就是优秀的侦探。每一次调试都是试图解决一个案例的过程。
1.什么是bug?计算机程序错误
2.什么是调试?有多重要?2.1什么是调试?
调试(英文:Debugging/Debug),又称调试,是在电子仪器设备中寻找并还原计算机程序或程序。
错误的过程。
2.2调试的基本步骤
发现程序错误的存在(发现bug的三类人:程序员、测试人员和用户)
通过隔离、排除等方法定位错误。(找到错误发生的范围)
确定错误的原因。
提出解决方案,纠正错误。
纠正程序错误并重新测试。
2.3调试和发布简介。
Debug通常称为调试版本,包含调试信息,没有任何优化,方便程序员调试程序。占用内存比较多,可以在调试程序的过程中观察信息。
Release称为release version,它往往会进行优化,使程序在代码大小和运行速度上达到最优,让用户用得好。占用更少的内存。
代码:
如果在调试模式下编译,程序的结果是无限循环。
如果在发布模式下编译,程序没有无限循环。
两者有什么区别?是因为优化。
3.3简介。Windows环境调试3.1调试环境的准备
在环境中选择debug选项,使代码正常调试。
3.2学习快捷键
最常用的快捷键:
F5开始调试,与F9结合使用,常用于直接跳转到下一个断点。(此时,断点不是下一个物理断点,而是一个逻辑断点。)
F9切换断点(创建和取消断点)
断点可以设置在程序的任何地方。使程序在期望的位置停止执行,然后逐步执行。按F9再按F5,程序会直接运行到断点处,从而找到错误发生的地方。
F10是一步一步、一句一句执行的,不会进入函数。
F11逐语句,即每次执行一条语句,就可以进入函数(这是最常用的)。
F5开始执行,不进行调试。如果想让程序不调试直接运行,可以直接使用。
3.3调试时检查程序的当前信息。
3.3.1检查临时变量的值
用于在调试开始后观察变量的值。
3.3.2检查内存信息
用于在调试开始后观察内存信息。
3.3.3检查调用堆栈
通过调用栈,可以清晰地反映出函数的调用关系(逻辑)和当前的调用位置。
检查装配信息
4.如何写出好的(容易调试的)代码?4.1优秀代码:
1.代码正常运行。
2.bug很少。
3.高效率
4.高可读性
5.高维护性
6.清除注释
7.完整的文档
4.2常用编码技巧:
1.使用断言(assert)
使用时需要引用头文件:assert.h,assert()。如果在()中为真,则什么都不会发生;如果是假的,就会报错,更有利于找到错的。
2.尝试使用const
3.培养良好的编码风格
4.添加必要的注释。
5.避免编码的陷阱。
4.3 Const的角色
当const修改指针变量时:
1.如果const放在*的左边,它修改指针所指向的内容,使指针所指向的内容不能被指针改变。
改变。但是指针变量本身的内容是可变的。
2.如果const放在*的右边,它会修改指针变量本身,这样可以确保指针变量的内容不能被修改,而是引用
指针所指的内容可以被指针改变。
修改后的数据类型引用常量类型,常量类型的变量或对象的值不能更新,提高了程序的安全性和可靠性。
5.编程中的常见错误5.1编译错误
直接看错误信息(双击)解决问题。或者可以用经验来做。比较简单。是一个常规语法错误。
5.2链接错误
此时,您只需要定义Add。
看错误消息,主要是在代码中找到错误消息中的标识符,然后定位问题。通用标识符名称不存在、拼写错误或根本未定义。
5.3运行时错误
借助调试,逐步定位问题。最难做的事。
否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。