程序调试介绍及其使用

文章目录

  • 调试
  • 一、程序调试概念
  • 二、程序调试步骤
  • 三、Windows环境下调试
  • 四、调试快捷键
  • 五、调试可以做什么
    • 1、查看临时变量的值
    • 2、查看内存信息
    • 3、查看调用堆栈
    • 4、查看汇编信息
    • 5、查看寄存器信息
  • 六、常见编译错误
    • (1)、编译型错误
    • (2)、链接型错误
    • (3)、运行时错误

调试

一、程序调试概念

程序调试是将编制的程序投入实际运行之前,用手工或编译程序的方法进行测试
、修正语法错误和逻辑错误的过程。

二、程序调试步骤

1、找到程序错误的存在。
2、对找到的错误进行定位
3、找出错误产生的原因
4、纠正错误
5、对改正的后的程序重新测试

三、Windows环境下调试

我们Windows环境下调试用VS去调试,而linux环境用gdb调试。在VS上调试分为两个版本:Debug版本和release版本。
Debug版本包含了程序的调试信息,不作优化。
release版本对程序进行了各种优化,使程序代码的大小和速度得到了提升。主要是供用户使用。
可以比较一下这个两个版本的运行大小,如图:
程序调试介绍及其使用_第1张图片

在这里插入图片描述

在这里插入图片描述
显然debug比release大的多。在debug版本下才能进行正常调试。

四、调试快捷键

F5:启动调试,经常用来直接跳到下一个断点处。
F9:创建断点和取消断点断点的重要作用,可以在程序的任意位置设置断点。这样就可以使得程序在想要的位置随意停止执行,继而一步步执行下去。
F10:逐过程,用来处理一个过程可以是一次函数调用,或者是一条语句。
F11:逐语句,每次都执行一条语句,这个快捷键可以使我们的执行逻辑进入函数内部。
程序调试介绍及其使用_第2张图片

五、调试可以做什么

1、查看临时变量的值

进入调试,对如图代码中的a数组里面初始化为0,在监视里面输入a,就会出现0到9的值被初始化为0 如图:
程序调试介绍及其使用_第3张图片
程序调试介绍及其使用_第4张图片

2、查看内存信息

在内存中输入a就能显示这10个数的地址如图:
程序调试介绍及其使用_第5张图片
当然在监视里面输入&a也能看到,例如输入&a[1],&a[9]。如图:
在这里插入图片描述

3、查看调用堆栈

程序调试介绍及其使用_第6张图片
程序调试介绍及其使用_第7张图片
从图上看到 程序只调用一个main函数。

4、查看汇编信息

程序调试介绍及其使用_第8张图片
程序调试介绍及其使用_第9张图片

5、查看寄存器信息

程序调试介绍及其使用_第10张图片
程序调试介绍及其使用_第11张图片

六、常见编译错误

(1)、编译型错误

直接看下面方框里面的错误提示信息,或者凭自己的经验解决

(2)、链接型错误

看错误提示信息,在代码中找到错误信息中的标识符,一般是标识符名不存在或者拼写错误,例如main写成mian或者写的一个不存在的函数名等。

(3)、运行时错误

这个相对来说难找,得需要借助调试来逐步定位错误。

你可能感兴趣的:(c语言)