CodeBlocks是一个开放源码的全功能的跨平台C/C++集成开发环境

下载地址:http://www.codeblocks.org/downloads/26

其中,Windows环境下可以使用安装包安装程序,或使用免安装的zip。

一、

CodeBlocks是一个集成开发环境(IDE),其中最重要的开发工具,如,

编辑器:编写修改源码;

编译器:将源码编译成目标语言和可执行程序;

调试器:跟踪程序执行过程,调试问题代码;

二、调试器的功能

  大致上,调试器是IDE中不可或缺的工具。

  调试器在跟踪代码执行过程,进行bug定位有着非常便利的作用。

  虽然有说法不能过分依赖调试器,但一般情况下,尤其是程序逻辑复杂,使用调试器可以极大地提高程序的优化和维护效率

三、CodeBlocks调试器的基本使用方法

  首先,CodeBlocks调试器需要一个完整的项目才可以启动,单独的文件无法使用调试器。使用调试器,创建的项目最好在英文路径下,路径不能包含中文字符。

1. 创建一个项目

1.1 CodeBlocks启动时或启动后创建项目

      

1.2 控制台程序选择

1.3 填写项目名和路径

1.4 选择编译器,默认即可

1.5 项目创建完成后如下,可以在自动创建的main.cpp中编写程序,或创建新文件

   

2 启动调试器

2.1 一般,调试器的按钮可以在工具栏找到

如果没有,可以从view菜单项中调出

2.2 设置断点

  使用调试器时需要让程序在需要的位置中断,在启动调试器前设置断点如下,鼠标点击编辑器的左边即可设置断点,

2.3 启动调试器

2.3.1 调试器需要以Debug模式启动,点击按钮debug:

2.3.2 启动后,程序执行到断点时,中断

2.3.3 如果在执行过程中遇到输入语句,则需要输入完成后才可以继续执行

   

2.3.4 在工具栏中打开调试窗口,主要打开Watches

2.3.5 Watches中显示的是当前变量的值,可以展开数组,

*2.3.6 除了自动显示的值,也可以手动添加需要观察的变量,如数组内的某个值,

*2.3.7 点击 Next line 执行下一个语句,右边的Step into为执行内部语句,最右侧的红色按钮Stop debugger为结束调试;当执行到函数调用时,可以使用next line直接执行函数,或step into跳转到函数内部执行语句,希望停止调试则点击stop debugger,

结束

以上为调试器的基本使用方法,调试的目的主要是跟踪变量值,观察程序是否按预期的情况在执行,如果遇到变量值与预期不符,则问题就出现在之前的语句。

在调试之前,需要考虑可能有问题的代码段,在此代码段之后设置断点。

(在实际应用中,可以尝试使用VS的调试器)

【基础】CodeBlocks调试器基本使用方法的更多相关文章

  1. CodeBlocks调试器设置错误问题

    错误如下: Building to ensure sources are up-to-date Selecting target:  Debug ERROR: You need to specify ...

  2. VS2003"无法启动调试 没有正确安装调试器"的解决方法

    在用VS2003做项目的时候,经常调试程序,但是有时候回出现如下问题“无法启动调试,没有正确安装调试器,请运行安装程序或修复调试器”.第一次碰到还以为是运气不好,就重新用vs2003安装程序重新修复了 ...

  3. CodeBlocks调试器缺少(gdb.exe)文件

    错误如下: Building to ensure sources are up-to-date Selecting target:  Debug ERROR: You need to specify ...

  4. OD调试器调试Delphi程序按钮事件断点方法

    这几天我调试一个Delphi程序,总是无法断点按钮事件,像我这样的菜鸟断点按钮事件真心累啊.所以我分享一下我下断点的经验!希望新手们少走弯路!!   工具/原料   OD调试器 Delphi程序 方法 ...

  5. VS2003"无法启动调试 没有正确安装调试器"的解决办法

    VS2003"无法启动调试 没有正确安装调试器"的解决方法 在用VS2003做项目的时候,经常调试程序,但是有时候回出现如下问题“无法启动调试,没有正确安装调试器,请运行安装程序或 ...

  6. C#调试器导航

    本快速入门演示如何在 Visual Studio 调试会话中导航,以及如何在会话中查看和更改程序状态. 本 快速入门适用于不熟悉用 Visual Studio 进行调试的开发人员,以及要详细了解在 V ...

  7. 在 Visual Studio 调试器中指定符号 (.pdb) 和源文件

    查找并指定符号文件和源文件:指定符号加载行为.使用符号和源服务器上:加载符号自动或在要求.   内容 查找符号 (.pdb) 文件 查找源文件   查找符号 (.pdb) 文件 说明 在之前的 Vis ...

  8. Flash Player调试器版本的解决办法Flash Builder 找不到所需的Adobe

    Flash Player调试器版本的解决办法Flash Builder 找不到所需的Adobe   Flash Builder在Debug时出现的问题:Flash Builder 找不到所需的Adob ...

  9. 关于TransactionScope出错:“与基础事务管理器的通信失败”的解决方法总结

    遇到此问题先需确认几个问题: 1)MS DTC是否设置正确? 2)是否启用了防火墙?是否对DTC做了例外? 3)是否做了hosts映射?是否跨网域通信? 开发分布式事务,碰到一个错误“与基础事务管理器 ...

随机推荐

  1. POJ 1458 Common Subsequence (动态规划)

    题目传送门 POJ 1458 Description A subsequence of a given sequence is the given sequence with some element ...

  2. JDK12 的下载和没有jre的解决及环境配置

    一.下载直接在官网上下载并点击安装即可,步骤省.jdk12下载中途已经没有跳出窗口下载jre的过程了,需要手动生成jre. 二.没有jre的解决:1.cmd 2.切换到jdk的安装目录,执行命令:bi ...

  3. LinkedHashMap与HashMap的使用比较

    现在由于项目需要,使用了LinkedHashMap,一开始由于很少用到Map,然后就直接使用了HashMap,在将数据成功存入之后取出来就出了问题,数据输出顺序没有按预期顺序输出,现在先看代码: 文件 ...

  4. target 和 currentTarget的区别

    target是当前点击的组件,currentTarget是扑捉到事件的组件

  5. 一个命令解决linux重启nginx就丢失pid文件问题

    sudo nginx -c /etc/nginx/nginx.conf

  6. 150行代码打造.net core生产力工具,你值得拥有

    你是否在初学 .net core时,被依赖注入所折磨? 你是否在开发过程中,为了注入依赖而不停的在Startup中增加注入代码,而感到麻烦? 你是否考虑过或寻找过能轻松实现自动注入的组件? 如果有,那 ...

  7. 2019CSP初赛游记

    Day 0 作为一个初三的小蒟蒻…… 对于J+S两场比赛超级紧张的…… 教练发的神奇的模拟卷…… 我基本不会…… 就这样吧…… Day 1 Morning 不知道怎么就进了考场…… 周围坐的全是同学( ...

  8. python IO非阻塞模型

    server端 import socket sk = socket.socket() sk.bind(('127.0.0.1', 8010)) sk.setblocking(False) # sk.l ...

  9. (树形DP)Strategic game POJ - 1463

    题意: 给你一棵树,树的每一个节点可以守护与其相连的所有边,问你最少用多少个节点可以守护这整棵树 思路: 仔细思考不难发现,要想守护一条边,边的两个端点必须有一个可以被选(两个都选也可以),然后这个问 ...

  10. 我的第一个 Kaggle 比赛学习 - Titanic

    背景 Titanic: Machine Learning from Disaster - Kaggle 2 年前就被推荐照着这个比赛做一下,结果我打开这个页面便蒙了,完全不知道该如何下手. 两年后,再 ...