1       printf输出代码关键字查找bug

这个是最简单最容易想到的方法,一般初期开始接触c语言,并用其从事简单代码编辑的时候都会很容易就习惯上这种调试方法,对一些特殊情况的实用率可能是最高的(比如结构难以想象的复杂数据结构之类的)

2       用软件自带的Split view来查看

  在CodeBlocks的编辑界面右键找到Split view,Horizontally(top-bottom)(上下)、Vertically(left-right)(左右)、Unsplit(恢复)。

  这个设置可以将一份代码分到左右进行函数间的对比,查找错误。

3       用ctrl-B标记来对比上下行 

  在很多IDE里面都有标记的功能,这个软件也不例外,用ctrl-B来标记一行,然后不论你在哪一行的时候都可以跳转,这个就可以在两个距离较远的函数里跳转了,用法应该是比对多个函数??

4       用自带的Debug查看程序运行状态  

  首先我们要知道,CodeBlocks的debug只有在项目里才能用,所以说我们要新建一个项目,CodeBlocks左上角File->new->Project->Console application,然后创建一个project。而且debug功能本身也是要设置的(在不能debug的情况限定, 可以用就不需要设置),设置流程Settings->Debugger...->Default->Executable path->自己CodeBlocks的安装位置->MinGW->bin->gdb32.exe

  说起debug 那就不得不说一下watches了,watches会将所有在有用到的所有变量输出,比如在for里才用了的变量i,当程序运行到for外面就不会再出现i这个变量了。

  先选择自己的主函数位置,选择Run to cursor按钮就是在红色的debug/continue旁边的按钮,按完如果在界面出现watches窗口那么就不要管,没有的话就自己打开:选CodeBlocks上方的Debug->Debugging windows->Watches,这样就会在每次Debug的时候自动出现。(注意直接选择debug/continue而不设置断点的话,至少在我的程序里的表现是输入相关数据以后直接结束了程序,如果你用debug/continue那么就要设置断点,将光标移动到某一行,按F5设置断点,那么使用debug/continue功能时就会在该断点处停下给你查看watches,然后你就可以用在debug/continue旁边第二个位置的Next line功能一步步的从这一步开始往下走。)设置好watches以后用Run to cursor功能运行程序,这个功能会让你用Next line一步步运行完全部代码,和debug/continue不同,他是会将全部的参数变化展现在watches界面。自己试试就知道。

  这里具体介绍了Debugging windows里的Watches,其他的Debugging windows窗口都没有怎么用过。以后看情况更新。

5       CodeBlocks测试时间的两种方法

1 #include<time.h>
2 int main(){
3     clock_t startTime=clock();{
4         //这里是我们要测试的代码;
5     }
6     clock_t endTime=clock();
7     cout<<"运行时间为::"<<endTime-startTime<<"ms"<<endl;
8 }

1 #include<windows.h>
2 int main(){
3     DWORD startTime=GetTickCount();{
4         //这里是我们要测试的代码;
5     }
6     DWORD endTime=GetTickCount();
7     cout<<"运行时间为::"<<endTime-startTime<<"ms"<<endl;
8 }

6       CodeBlocks部分快捷方式一览

6.1需要更大编辑空间时,F2和Shift+F2分别可以显隐下方Logs& others栏和左方的Management栏。

6.2  Ctrl+D可复制当前行或选中块(直接复制以后添加在后面)。

6.3  Ctrl+Shift+C注释掉当前行或选中块,Ctrl+Shift+X则解除注释。

6.4  Tab缩进当前行或选中块,Shift+Tab减少缩进。

6.5  可拖动选中块使其移动到新位置,按住Ctrl则为复制到新位置。

6.6  shift + f11 全屏;连点两下当前文件的标签,也就是编辑窗口的左上角那个,会将窗口最大化。

6.7   Ctrl+G到达指定行,ALT+G 到达指定文件(项目里用的),Ctrl+Alt+G 到达指定函数(支持头文件中的函数定义(可能也是项目里的))。

6.8  Ctrl+PageUp到达上一个函数,Ctrl+PageDown 到达下一个函数

6.9    Ctrl+Shift+B可找到匹配的括号。

6.10    看长代码时,可右击,Folding->Fold All,然后慢慢展开来看,也可充分利用左方Management栏的Symbol浏览器。

6.11    ctrl + . 可以从函数声明处找到函数定义

6.12    F3用于寻找下一个所选中的语句块

6.13    代码颜色的更改:找到settings->editor->Syntax  highlighting,选择你喜欢的颜色就可以了,最主要的是注释的颜色优点不明显,可以修改comment颜色即可,但是注意不要和其他代码的颜色冲突。

6.14    快捷键的更改:找到settings->editor->keyboard shortcuts,可对一些功能的快捷键进行更改,不过不要与系统本身设置好的冲突(还好冲突时会有提示),更改时要按住相应的快捷键进行过添加,而不是将快捷键名称打出来。

转载于:https://www.cnblogs.com/DCD112358/p/8998053.html

CodeBlocks(17.12) 代码调试基础方法快捷方式相关推荐

  1. Codeblocks 17.12安装教程

    Codeblocks 17.12安装教程 一.下载安装包到电脑 https://sourceforge.net/projects/codeblocks/files/Binaries/17.12/Win ...

  2. CODEBLOCKS 17.12汉化

    CODEBLOCKS 是我个人很喜欢的一个IDE,它轻巧,强大,跨平台,而且新版本更新加入了对Qt5的支持!先贴一张截图: 不说废话,下面说一下汉化包的配置过程: 1.首先在CODEBLOCKS的安装 ...

  3. Python代码调试方法

    对于每个程序开发者来说,调试几乎是必备技能.常用Pycharm编辑器里的方法有Print大法.log大法,但缺少类似Matlab的变量区,给代码调试带来不便,特别是在有函数的情况下,变量无法实时查看. ...

  4. 1.使用适配器模式设计一个仿生机器人:要求机器人可以模拟各种动物行为,在机器人中定义了一系列方法,如机器人发声方法talk(),机器人移动方法move()等。如果希望在不改变已有Bird类代码的基础上

    1.使用适配器模式设计一个仿生机器人:要求机器人可以模拟各种动物行为,在机器人中定义了一系列方法,如机器人发声方法talk(),机器人移动方法move()等.如果希望在不改变已有Bird类代码的基础上 ...

  5. 什么是代码调试(debugging)?进行代码调试的基本方法有哪些?

    文章目录 前言 一.什么是代码调试? 二.常见的代码调试方式 2.1.手工跟踪(hand trace) 2.2.手工跟踪的适用范围 2.3.使用调试工具 2.4.调试工具具备的特性 总结 前言 我们在 ...

  6. python 除数不能为零的报错有哪些_【社区精选40】Python错误处理及代码调试方法(文末赠书中奖名单)...

    本文整理自爱数据学院中的问答 更多精彩问答,进入下方社区网站查看 http://www.lovedata.cn/invitation 社区精选话题 第40期 Python错误处理及代码调试方法 一次写 ...

  7. 前端基础:初步认识Chrome调试面板,学会简单的代码调试,必会!

    在前端开发过程中,我们通过浏览器的页面来查看我们代码编写的成果.然而浏览器的功能非常强大,它不只是能展示我们编写的页面,还能够帮助我们定位开发过程中遇到的问题,提升我们的开发效率.有些时候我们甚至还可 ...

  8. fire.php,php代码调试利器firephp安装与使用方法分析

    本文实例分析了php代码调试利器firephp安装与使用方法.分享给大家供大家参考,具体如下: firephp简述 如果你曾经写过js代码的话,那么你对如下的代码肯定不会陌生: console.log ...

  9. Python 代码调试二三事

    ♚ 作者王维栋,网易游戏运维与基础架构部,产品软件设计师,专注于智能监控.性能优化等领域. 本文来自<网易游戏运维平台 (neteasegameops)>微信公众号的投稿,隶属于网易游戏运 ...

  10. Linux后台开发系列之「08.15 个 gdb 调试基础命令」

    代码键盘 版权声明:本文为 cdeveloper 原创文章,可以随意转载,但必须在明确位置注明出处! gdb 简介 gdb 是 UNIX 及 UNIX-like 下的调试工具,在 Linux 下一般都 ...

最新文章

  1. 阅读豆丁网----基于模型的混合多目标算法的研究
  2. 等差数列末项_等差数列末项(第n项)公式
  3. WINDOWS XP 开始→运行→命令 集锦
  4. Nginx学习之五:Nginx第三方模块
  5. C语言中的二级指针和二维数组问题
  6. stmmac 中断处理
  7. yii2.0AR两表联查
  8. 1100: 求组合数(函数专题)
  9. linux下c语言线程传参数,【linux】C语言多线程中运行线程池,在线程池中运行线程池,,传递的结构体参数值为空/NULL/0...
  10. C#获取本执行程序所在的当前路径
  11. 德克萨斯州ADRN组织支持12种加密货币捐赠 现已收到700美元ETH捐款
  12. “超人”助阵,IE静音很简单
  13. 通过掌握谷歌成为更好的程序员
  14. linux执行jmeter脚本解决响应数据为空
  15. 巧替换windows 7中的宋体 simsun.ttc
  16. 斐讯k2p梅林忘记密码恢复出厂之后的解决办法
  17. 软件开发javascript html实现网页版日历代码_javascript技巧
  18. 32位服务器系统支持8G内存,32位系统怎么支持8g内存条win10 64位系统闲置服务器...
  19. maxpooling反向传播
  20. 罗云彬:实现水波特效的代码例子

热门文章

  1. javascript 动画效果(多物体缓冲运动,多物体透明度变化,匀速移入移出、链式运动、同时运动)
  2. Joda-Time简单使用
  3. 老司机带你了解微信/支付宝支付的相关概念
  4. MyBatis sql查询字段问题
  5. MessagePack 二进制序列化格式 开发入门详解
  6. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_02-freemarker介绍
  7. 小D课堂 - 新版本微服务springcloud+Docker教程_5-05熔断降级服务异常报警通知
  8. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_2_使用Stream流的方式,遍历集合...
  9. STM32的AD通道干扰问题
  10. ZwQuerySystemInformation 枚举驱动模块