设为首页
收藏本站
切换到窄版
登录
立即注册
找回密码
搜索
搜索
本版
帖子
用户
快捷导航
论坛
BBS
C语言
C++
NET
JAVA
PHP
易语言
数据库
IE盒子
»
论坛
›
IE盒子
›
C++
›
Dev C++ 调试功能详细总结
返回列表
发帖
查看:
128
|
回复:
1
Dev C++ 调试功能详细总结
[复制链接]
于航
于航
当前离线
积分
25
4
主题
13
帖子
25
积分
新手上路
新手上路, 积分 25, 距离下一级还需 25 积分
新手上路, 积分 25, 距离下一级还需 25 积分
积分
25
发消息
发表于 2023-3-12 02:11:51
|
显示全部楼层
|
阅读模式
原文链接:
大家好,我是CodeAllen(康哥),今天是2023年2月25日,继上一篇介绍了我在Windows端经常用来验证代码的工具Dev C++的基本使用后,今天主要介绍下这个软件的调试功能。
正文:
对于编程学习,可以说调试能力是最重要的技能,没有之一!
尤其是C/C++/Linux开发,有相当部分时间都会花在调试上,对于这部分后续还会有更加系统的总结。所谓调试程序,就是控制编译器一行一行地执行代码,过程中可以清楚看到每个变量值的变化情况、函数的调用过程等,进而发现程序中隐藏的错误或者低效的代码。
首先先确认下你的Dev C++调试配置是否正常,有些很常见的问题提前确认下。
1.工具栏中,选择编译选项
2.开启产生调试信息,这个不开会导致无法进入调试模式
3.error-begin No source file named xxx的错误解决有些同学可能调试的时候会遇到,如果没有可以跳过,方法是依次添加下边的配置
-g3
-static-libstdc++ -static-libgcc -g3
gcc.exe -D__DEBUG__
g++.exe -D__DEBUG__
4.正式开始调试,以下边的代码为例子,有电脑的同学可以直接实践下
1#include <stdio.h>
2
3int main() {
4 int n, cnt = 0;
5
6 scanf(&#34;%d&#34;, &n);
7 for(int j = 0; j < n; j ++) {
8 cnt = cnt + 1;
9 }
10 printf(&#34;%d&#34;, cnt);
11
12 return 0;
13}
添加断点,这是调试功能的核心,下边是几个步骤:
1.左键添加断点,主要是在比较容易出错,或者有怀疑点的位置
2.添加变量查看,可以实时看到代码中变量的值,非常的直观
3.点击②后,会有③窗口,添加代码中变量名即可
4.输入回车后,在左侧④调试窗口就会出现变量的实时值
点击调试或者按F5启动调试功能,会出现黑色的控制台窗口
此时根据代码,代码会走到第六行scanf等待你的键盘输入
这里我们输入5回车
断点行会变为蓝色,意味着此时代码运行到第8行并停止
左侧变量n由于执存储了键盘的输入变为了5,cnt由于还没有执行仍为0
点击下一步,代码会继续执行一行,根据逻辑会运行到for循环入口,cnt由于执行了一次变为了1,而n由于没有操作所以还是5
另外几个调试功能的作用(都可以动手实践下):
下一步:控制编译器向下执行一行语句;
单步进入:功能和“下一步”按钮类似,不同之处在于,当程序中调用某个自定义的函数时,此按钮可以进入到函数内部,继续调试函数内部的代码,而 “下一步” 按钮不会;
跳过:继续执行程序,遇到下一个断点暂停执行;
停止执行:停止调试程序。
当最后执行完for循环,printf函数会输出结果5到控制台,左侧cnt值也增长到了5
这就是一次相对比较简单的调试了,大家可以亲自动手实践下,可能会到各种奇怪的问题,都非常正常,开发本就是解决问题的一个过程,这个调试虽然简单,但是基本的原理就是这样了,对于很多项目中都可以用到。
回复
使用道具
举报
因何得偶
因何得偶
当前离线
积分
13
0
主题
7
帖子
13
积分
新手上路
新手上路, 积分 13, 距离下一级还需 37 积分
新手上路, 积分 13, 距离下一级还需 37 积分
积分
13
发消息
发表于
7 天前
|
显示全部楼层
沙发位出租,有意请联系电话:13838384381
回复
使用道具
举报
返回列表
发帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表