<>C语言中的单步跟踪调试

<>单步调试是指程序开发中,为了找到程序的bug,通常采用的一种调试手段,一步一步跟踪程序执行的流程,根据变量的值,找到错误的原因。

下面以一个简单的小程序为例,这里的程序必须是在项目下,单个文件不能调试,会直接编译执行。
程序是利用函数max()实现找到两个变量中较大的那一个变量,这里简单起见,a,b的值都是给定的。
#include <stdio.h> int max(int x,int y) { int temp; temp = x>y?x:y;
/*判断形式参数x和y的大小,并赋值给temp,随后带出函数体*/ return temp; } int main() { int a,b,result; a=
3; b=4; result = max(a,b); /* 将记录 a 原始值的变量 temp,赋值给 b,实现 a 向 b 转换 */ printf(
"%d\n",result); return 0; }
<>1.这里在程序的main()函数中地行序号11那里单机鼠标打出了一个断点,进行单步调试

<>2.点击下面有一个小虫子的按键,选择里面的watches,可以输入需要检查的变量值的变化情况,至于这里为什么叫它小虫子,大家也可以去查查看其中的故事。

选中里面的watches,在里面可以手动输入变量名称,用于显示,我这里输入了a,b,temp还有result,下面看看调试过程中发生了什么。

<>3.点击这里的红色三角形开始调试(这里会弹出黑框框,不用管它)


这时注意观察之前定义的所有变量在watches小窗口中都有了一些值,这些值都是之前的旧值,还没有在这个程序中更新。同时在程序中有了一个黄色的小标识,用于显示当前程序已经执行在什么位置了。

<>
4.这里先介绍一下这几个常用的功能键:①是用于开始调试;②是用于逐行执行,也就是黄色的小标识会跑到下一行;③是用于进入函数体,如果直接逐行执行则不会进入到其他函数中;④和③相反,从函数体中退出来,回到main函数继续执行。其他按键自己有兴趣可以去查查资料,这里就不讲了,①旁边的那个在多行调试中会用到。

<>5.下面先单击二号按键逐行调试,注意观察变量值的变化,当执行到result = max(a,b);这里时,可以看见a,b的值已经显示出来了

<>
6.下面单击三号按键,进入到max函数里面看看,随着在max函数里面的单步调试,最后可以发现temp最后将最大的值:4,成功地带出了函数体送给了main函数地result变量。

<>7.最后执行打印语句,就可以在黑框框里面看见输出显示4了。

一般都是在程序编译的时候没有报错,结果执行却发生了意想不到的问题,这个时候就可以使用调试程序,找到程序究竟在什么位置出现了问题。会调试程序找到错误所在也是一种非常重要的编程技能哦!

技术
©2019-2020 Toolsou All rights reserved,
程序员的520,送给女友的几行漂亮的代码(python版)基于stm32控制四轮小车电机驱动(一)linux查看磁盘空间命令实验四 自动化测试工具-软件测试axios拦截器封装与使用C语言——qsort函数opencv-python傅里叶变换以及逆变换在算法研究过程中如何进行算法创新nc的安装和简单操作C语言做一个简易的登陆验证(功能)界面