CodeBlocks(17.12) 代码调试基础方法&快捷方式

摘要:
4.要查看内置调试程序的运行状态,首先我们需要知道CodeBlocks的调试只能在项目中使用,因此我们需要创建一个新项目。文件-˃新建-˃项目-˃代码块左上角的Consoleaplication,然后创建一个项目。5测试CodeBlocks 1#的两种方法包括<time h>2itmin(){3clock_tstartTime=clock();{4//这是我们要测试的代码;5}6clock_tendTime=clock();7cout˂˂“运行时间为:”˂˂endTime startTime˂˂“ms”˂˂end l;8} 1#包含 2itmin(){3DWORDstartTime=GetTickCount();{4//这是我们要测试的代码;5}6DWORDStartTime=GetTickCount*();7cout˂˂“运行时间为:”˂˂endTime startTime˂˂“ms”˂˂end l;8} 6 6代码块快捷方式列表6.1当需要更多编辑空间时,F2和Shift+F2可以显示下面的日志和其他列以及左侧的管理列。

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,可对一些功能的快捷键进行更改,不过不要与系统本身设置好的冲突(还好冲突时会有提示),更改时要按住相应的快捷键进行过添加,而不是将快捷键名称打出来。

免责声明:文章转载自《CodeBlocks(17.12) 代码调试基础方法&amp;amp;快捷方式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vue+element ui 的时间控件选择 年月日时分Windows平台如何集成RTSP/RTMP直播播放功能下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vs调试 配置IISExpress允许局域网内部访问

内网可访问后,本机不能使用localhost   1.找到IISExpress的配置文件,位于 <文档>/IISExpress/config文件夹下,打开applicationhost.config,找到如下代码: <site name="WebSite1" id="1" serverAutoStart="true">      ...

iOS开发者账号详细介绍

前言:   做为一个iOS应用的开发者,在编码调试过程中,可以使用模拟器来完成整个过程。但是在最后提交上线App的时候,就必须要有一个苹果开发者账号。而我作为一个近乎完全自学的iOS开发者,在开发者证书上也是绕了很多圈,迷茫迷惑。在反复摸索验证的情况下。最后看透了这一切。最初一开始是在淘宝网上购买证书的,后来在公司有了自己的个人开发者账号,在个人开发者账号...

GDB 命令行调试之路(全 19)

1: 基本命令. 2: 断点管理/多文件调试. 3: 函数基本调试. 4: 中级命令. 5: 监视内存. 6: 高级命令. 7: 类的调试. 8: 线程调试 9: 总结. 11.hello gdb!2.FAQ hello gdb! 首先准备好我们的调试文件test.cpp 如下 #include <iostr...

最难忘的Bug调试经历

摘要:目前,著名的社区问答网站Quora上出现一个很火的讨论:你调试过最难的Bug是什么?大家纷纷留言,把自己最痛苦的一次调试经验写下来。 相信每位程序员都有过一段不堪回首地Bug调试经历,程序员一听到自己的程序有Bug,会有各种搞笑的反应,大家可以移步去看看“ 程序员遇到Bug后的30种常见反应 ”。 目前,著名的社区问答网站Quora上出现一个很火的...

攻略丨云开发VS Code 插件 CloudBase Toolkit 云函数调试

Tencent CloudBase Toolkit 插件 0.2.0 版起支持云函数本地调试和云端调试两种调试模式。 本地调试:使用 CloudBase CLI 在本地模拟运行 Node.js 云函数,云函数的 event 和 context 均为模拟参数,适合本地开发 云端调试:使用云端的云函数实例进行调试,所有的参数、环境均与云端一致,适合定位复杂的...

Linux内核死机调试方法总结

使用空指针和缓冲区溢出是产生oops的两个最常见原因。 1、直接查看oops信息,首先查找源代码发生oops的位置,通过查看指令寄存器EIP的值,可以找到位置。再查找函数调用栈可以得到更多的信息。从函数调用栈可辨别出局部变量,全局变量和函数参数。较为重要的信息就是指令指针(EIP),即出错指令的地址。 例如:在函数faulty_read的oops信息的函数...