codeblocks应用之debug .
来源:互联网 发布:数控车床车凹圆弧编程 编辑:程序博客网 时间:2024/05/16 03:53
1. 经常使用visual studio编译器的可能不怎么关注编译参数,而codeblocks使用的是gnu的gcc编译器,所以如果希望生成可调试的程序,需要加入命令参数-g,这个选项说明生成的可执行文件中含有调试标记(比如源文件中的某行代码对应了哪几条汇编指令),同时要确保一定不能选中-s选项,这个选项用来清除可执行文件中所有的调试标记。具体操作如下:
菜单中 Project => Build Options
2. 既然是debug,就需要在调试中对变量的值进行观察,这时需要打开IDE的watch窗口,打开方式如下:
菜单中debug=> Debugging windows=>watches
如图:
当以debug方式运行程序时候会出现下面的窗口:
注意1:红色框圈出的两个选项可以讲当前的watch列表保存起来,也可以重新将已保存的watch列表重新加载进来。
注意2:在进行debug时,在“call stack”调试窗口中(调出的方式同调出watch窗口)双击一个栈帧(frame),但是在watch窗口中相对应的信息不会更新,如果需要观察特定栈帧的相应信息,需要在"call stack"窗口中在需要观察的栈帧那一行上右击,然后选择“Switch to this frame”。操作如下图:
3. 设置断点,调试程序需要设置断点,然后在watch窗口中进行观察变量的变化。设置断点是很重要的一环
设置断点的方式:
(1)将鼠标定位于需要设置断点的那一行,然后点击菜单中的 Debug => Toggle Breakpoint
(2)在需要加入断点的那一行中右击,然后选择Toggle Breakpoint或者按F5快捷键
这样就可以开始调试运行了
4. 点击菜单中的Debug=>start或者按F8
运行断点处停止,如果想观察某个变量,先要拖动鼠标选中这个变量,然后右击,就会有有watch+变量名这一菜单项,单击它就可以在watch窗口中加入此变量了
如图:
注意:
如果使用的是codeblocks8.02版本,其中使用的编译器和调试器版本为 MinGW 和 gdb 6.7,则如果在c++构造函数中设置断点,调试器将不能工作,一下是一些小技巧。
设置在构造函数和析构函数中的断点在GDB 6.7以及更低的版本中是不能工作的,但是如果在构造函数开始有成员函数的调用,可以将断点设在成员函数中,然后调用完成员函数就可以通过next step(F7)继续观察构造函数调用。例如:
需要观察构造函数MyClass调用,可以先设置一个成员函数DebugCtorDtor,讲断点设在22行,然后开始debug,程序会停在断点处,按F7,程序执行13行,就可以查看构造函数的调用情况了。
- codeblocks应用之debug
- codeblocks应用之debug .
- codeblocks应用之debug .
- codeblocks的debug教程
- codeblocks debug 的那些事
- codeblocks 应用 scim
- Unity3d 学习与应用之 DEBUG
- Unity3d 学习与应用之 DEBUG
- Unity3d 学习与应用之 DEBUG
- CodeBlocks:"WARNING: Can't read file's timestamp:Debug.c"
- C开发工具(codeblocks)调试(Debug)
- Ubuntu之CodeBlocks终端设置
- CodeBlocks
- CodeBlocks
- codeblocks
- codeblocks
- codeblocks
- codeblocks
- 转载:浅谈C#堆栈与托管堆的工作方式
- poj 3274 java
- 命名空间"system.web"中不存在类型或命名空间名称security"错误解决方(控制台)
- 双向口和准双向口操作的不同!
- JAVA设计模式
- codeblocks应用之debug .
- android 自定义listview无法响应点击事件OnItemClickListener
- Message table.
- 如何从windows远程控制Ubuntu
- Fedora 16 用Live CD 修复grub2,附“No root device”问题解决
- 一次的email为什么要二次完成?
- VS2010创建和调用静态链接库
- oracle 查看表空间
- (())、let、expr、bc等计算命令的使用语法和应用技巧