Code blocks调试教程

时间:2022-06-19 22:25:05

特别声明:本教程已转移至百度经验https://jingyan.baidu.com/article/6b182309939a87ba58e159bf.html

一、题外话

之前一直想用Code blocks调试程序,但是,尽管看了网上的各种教程,也照着做,但点着点着就发现和参考教程上的不一样了,然后出不来结果。于是屡试屡败。今天,又按照之前的做法(都记住步骤了,就知道我尝试过多少次了......)操作了一遍,竟然成功了。于是,基于已知的操作和网上搜索的结果,我初步掌握了如何使用这个调试工具,这里记下来,和每一位有需要的同行共享。

二、说明

本教程只限于使用Code blocks IDE编写“程序设计(ACM-ICPC等)”、“小游戏”等小程序。如果是要调试大的Project,烦请另请高明。

二、操作步骤

1、新建控制台程序(必须这么做。如果是先在文件系统中新建c/cpp文件,再用Code blocks打开的,那么就把待调试的程序代码复制到新建工程的main.cpp中。),命名为:debug4all(当然,名字可以任取。但是为了方便记忆,下次我们也用这个工程来debug其他程序嘛。)已经是工程的直接调到第二步。如果按照第二步之后的步骤操作之后没有看到效果,可能是这一步第三张图那里少选了什么,那么,请重新建立工程,从这一步开始走起。

Code blocks调试教程

这里全部都是默认,不用动。

2、编辑一段程序。(通常都是先有程序再debug的。所以,如果你是像之前说先建立c/cpp文件再用Code blocks打开后编辑代码的话,那就把要调试的程序代码复制到debug4all工程的main.cpp里面)。

Code blocks调试教程

3、下断点(断点就是程序执行到这里会停下来等你操作的地方)。这里假设这个程序有问题(没问题就不用调试了,对吧。),把断点下在第7行。具体操作为:鼠标左键点击一下行号(数字7)右边空白处,然后这里就会有一个红点。表示:程序执行完第6行,要执行第7行时,就停下来了。

Code blocks调试教程

4、点击上方的红色箭头指向的红色三角形。

Code blocks调试教程

5、点击后,会出现一个黑窗口,一闪而过。然后最小化在任务栏了。接下来,点击上面红色箭头所指处。选择,Watches。即:观察窗。注意是左边这个有个虫子的图标,不是右边那个有个感叹号的。

Code blocks调试教程

效果如下:

Code blocks调试教程

可以看到当前程序执行的函数里的所有的局部变量。注意哦,现在第7行还没有执行,所以,局部变量数组里面的值还是野生的(即不确定的)。要执行第7行的代码,点击上方红色箭头所指处。上面的每个各种方向的箭头代表什么意思,可查阅其他资料。其中:next line表示执行当前行,跳到下一行。step into表示,进入此条语句中(什么意思呢?如果这条语句是简单语句,那自然和next line效果一样,因为没什么好进去的。如果这条语句是调用某个函数,那就是进入到这个函数中。而如果点击next
line的话,这个函数就会立马执行完,然后跳到调用这个函数的那行的下一行)。

Code blocks调试教程

点击next line。如图。可以看到,第7行执行完后,变量loc_arr和sum的值都变了。

Code blocks调试教程

6、至此,你想要执行到哪一行,查看哪些局部变量的值都能做到了。但是,我们发现,这里不能查看全局变量的值,

怎么办呢?照着做。在观察窗口中,点击一行空的行,输入你要查看的全局变量的名字。点击第3列。

Code blocks调试教程

效果如下:

Code blocks调试教程

7、至此教程就结束了,现在就可以想怎么看就怎么看了。

PS:到目前为止,还没有哪个debugger可以做到回退一步的。

Code blocks调试教程的更多相关文章

  1. 在Code::Blocks中编译和使用wxWidgets3.0.0教程

      跳转至:指南,搜索 注意,编译Code :: Blocks的对wxWidgets的3.0.0链接不是很稳定,但该库至少可以被正确编译,(只是使用的时候可能会有问题):CodeBlocks开发商都在 ...

  2. VC++6.0 IDE的工程用Code::Blocks来打开、编译、调试终极配置方案

    本篇文章转自 CSDN blog,转载请注明出处! 原文地址: http://blog.csdn.net/liquanhai/article/details/6618300 引子:竟然可以用Code: ...

  3. Code::Blocks无法调试 Starting the debuggee failed: No executable specified, use `target exec'

    1.必须建立工程 2.工程名不可有特殊字符或空格,可以有字母.数字.下划线 2.编译器设置里勾选-g(产生调试符号) 3.重新编译项目(如果之前编译过了) 4.调试器设置 > Default & ...

  4. Code::Blocks配置GTK+2和GTK+3

    Code::Blocks配置GTK+2和GTK+3 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根 ...

  5. C语言工具---Code&colon;&colon;Blocks

    Code::Blocks Code::Blocks 是一个开源的全功能的跨平台C/C++集成开发环境. Code::Blocks是开放源码软件.由纯粹的C++语言开发完成,它使用了著名的图形界面库wx ...

  6. 关于Ubuntu12&period;04下code&colon;&colon;blocks不能使用debug解决方法

    问题描述:   系统:ubuntu 12.04   code::blocks版本:10.05   问题现象:debug->start        之后出现:warning: GDB: Fail ...

  7. linux下C&sol;C&plus;&plus;IDE比较——Code&colon;&colon;Blocks

    工欲善其事,必先利其器.用了这么久的linux,现在比较主流的几个C/C++的IDE基本已都用过了,现在来对他们做一下简单的比较. 1.VIM首先要说的是VIM.我认为,VIM只是一个编辑器,不能算是 ...

  8. Fedora Linux 下安装配置C开发环境Code&colon;&colon;Blocks

    一.提前的话要说C语言和Linux的关系大家应该都不会陌生,Linux系统内核就是用C语言开发的,所以所有的Linux系统下面 都会有C的编译调试工具,不过这些工具都是命令式的,正式开发的话会很不方便 ...

  9. Code&colon;&colon;Blocks项目配置基础

    File 菜单 New :新建( Empty file/file . class . project . build target ) . Recent projects/files :近期打开的项目 ...

随机推荐

  1. 关于Promise模式 整理中。。。

    http://blog.csdn.net/womendeaiwoming/article/details/49849055 研究了几天Promise模式,因为在项目里也遇到了所谓的“回调陷阱”,就是多 ...

  2. torch-ios框架XCODE使用备忘

    1.首先编译框架   ./generate_ios_framework 2.把框架包含进project  在general-link Frameweork and Libraries 加入这个框架,注 ...

  3. Data Mover Script Templates

    Datamover is probably the best way to export and import data between PeopleSoft databases and the sc ...

  4. 增强for循环用法&lowbar;&lowbar;&lowbar;ArrayList数组实现使用下标最好,LinkedList使用增强型的(转载)

    总结: 1.For-Each循环的缺点:丢掉了索引信息. 当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标信息. ...

  5. map的常用方法

    1.头文件: #include<map> 2.定义: map<string,int>Map; 或: typedef map<string,int> MAP; MAP ...

  6. Mysql&lpar;三&rpar;-2&colon;数据类型

    一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考: http://www.runoob.com/mysql/mysql-data ...

  7. python 数据分类汇总

    STEP1: #读取数据: import pandas as pdinputfile_1 = "F:\\大论文实验\\数据处理\\贫困人口数据_2015.xlsx" data1 = ...

  8. 统一集中管理系统cronsun简介,替代crontab

    一.背景 crontab 是 Linux 系统里面最简单易用的定时任务管理工具,相信绝大多数开发和运维都用到过.在咱们公司,很多业务系统的定时任务都是通过 crontab 来定义的,时间长了后会发现存 ...

  9. softmax详解

    原文地址:https://blog.csdn.net/bitcarmanlee/article/details/82320853 1.softmax初探 在机器学习尤其是深度学习中,softmax是个 ...

  10. MyBean 框架入门手册&lt&semi;感谢&lbrack;青铜&rsqb;整理的如此细致和系统&gt&semi;

    MyBean 框架入门手册 2014/9/15 by lighttop 目 录 MyBean 框架学习笔记............................................... ...