调试是一个程序员养成的必经之路。
调试主要是通过 在程序运行过程中输出查看变量或者 设置断点进行调试
这里我们主要讲设置断点进行调试
断点调试一般分为三步
设置断点,添加查看变量,调试运行。
断点有什么作用呢?
程序在调试运行的时候会自动运行到第一个断点处(该行还未运行),这样我们就可以直接跳过前面不感兴趣的部分,不用一直点了。
查看变量是什么意思呢?
在调试时添加查看变量后我们可以看到运行到某个位置(调试运行到的位置)时该变量的值
调试运行
调试运行就是一种特殊的运行方式,不是直接运行到底,而是可以控制运行到哪一步
DEV
DEV在调试前需要打开产生调试信息
具体操作如下:
工具 — 编译选项—代码生成/优化—连接器—产生调试信息
DEV断点的设置比较简单可以直接点击代码旁边的行数,然后就会出现红色的小勾,并且整行标红(颜色可以更改),或者F4,也会在光标所在行设置断点
添加查看 我们可以直接选中变量右键,再点击查看变量即可
然后变量就会出现在左侧了,当然添加查看变量是可以在程序调试到任何时候添加的,可以不用在开始前添加
我们将以下面这段代码为例进行调试
#include<bits/stdc++.h>
using namespace std;
int p(int a,int b){
int tmp1=a+b;
printf("tmp1:%d\n",tmp1);
int tmp2=a*b;
printf("tmp2:%d\n",tmp2);
return tmp1+tmp2;
}
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n;++i){
int a,b;
scanf("%d %d",&a,&b);
printf("a:%d b:%d\n",a,b);
printf("%d\n",p(a,b));
}
return 0;
}
断点设置和添加查看如下
然后开始调试
我们就会发现程序运行到了第12行处,并出现了一个蓝条,表示程序运行到这(该行还未运行)
点击下一步,发现,蓝条并未移动,因为这是一条输入语句,该语句还没有执行完,我们要在cmd对话框内输入,才能进入下一条语句
然后我们发现n的值以及可以查看到了
或者我们可以将鼠标悬停在一个变量上进行查看
当我们运行到17行时,出现了调用函数p,如果我们在该函数内设置了断点,那么程序将会运行到该函数内断点处,如果我们没有在函数内设置断点,我们也可以通过单步进入来进入这个函数
常用的调试操作就是这些了,有了这些,我们就可以用调试代替手模(手动模拟),就舒服了很多。
CodeBlocks
具体调试和DEV差不多
但是codeblocks必须在项目里进行调试,相对来说会麻烦一点。
首先我们要建一个项目,左上角 文件—新建—项目
然后选这个,前进
然后会让你选择语言
然后填一下工程标题(可以乱填),后面一直点就好了
然后左下角点击相应工程的文件
点开main程序
再把要调试的代码粘贴进去(当然也可以最开始就到项目里打代码)
最后再打开“监视”,用于查看变量
设置断点:只要在想要设置断点的行那里右键点击切换断点即可然后左边就会出现一个红点,表示这里有设置断点
添加查看变量:codeblocks调试不需要添加查看变量,在调试过程中所有变量都会显示在“监视”中
然后就是调试了
如果你的codeblocks还是英文,可以移步这篇博客浅入C++(1)——简单介绍C++与IDE的选择推荐(内附安装包下载地址)
内有汉化包和汉化教程的链接
鸽王之王更新了!!!