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. 天梯 L2 链表去重

    L2-002 链表去重 (25 分) 给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉.即对每个键值 K,只有第一个绝对值等于 K 的结点被保留.同时,所有被删除的结点须被保存在另一 ...

  2. MongoDB高级用法

    MongoDB高级查询用法大全 转载 http://blog.163.com/lgh_2002/blog/static/440175262012052116455/ 详见官方的手册:http://ww ...

  3. C++ 动态数组与链表

    动态数组与链表 动态数组的大小不定,内存连续的,可以根据自己的需要,增加或删除元素.知道第一个元素的,那么就可以知道第二个元素,通过下标访问.如果中间插入一个元素,那么中间后面的元素的下标全部都要改变 ...

  4. forkjoin及其性能分析,是否比for循环快?

    最近看了网上的某公开课,其中有讲到forkjoin框架.在这之前,我丝毫没听说过这个东西,很好奇是什么东东.于是,就顺道研究了一番. 总感觉这个东西,用的地方很少,也有可能是我才疏学浅.好吧,反正问了 ...

  5. RedisCluster linux下批量删除 key

    Redis Cluster linux下批量删除键 说明 使用时不支持传入参数 , 如 redis_batch_del.sh , 因为在linux下 会自动将 * 解析为当前目录下所有文件名, 目前还 ...

  6. 村庄之间建立邮局 - 区间 dp

    There is a straight highway with villages alongside the highway. The highway is represented as an in ...

  7. Nhibernate的Session和StatelessSession性能比较

    Nhibernate的Session和StatelessSession性能比较 作者:Jesai 一个月入30K的大神有一天跟我说:我当年在你现在这个阶段,还在吊儿郎当呢!所以你努力吧! 有时候,一个 ...

  8. map转URL

    package com.psm.util; import java.util.Map; public class MapSwitchUrl { public static String getUrlP ...

  9. 创建认证提供器 安全性与收尾工作 精通ASP-NET-MVC-5-弗瑞曼

  10. NOI4.6 最小新整数——切山游戏

    描述 给定一个十进制正整数n(0 < n < 1000000000),每个数位上数字均不为0.n的位数为m. 现在从m位中删除k位(0<k < m),求生成的新整数最小为多少? ...