程序调试,是编程技术其中一项非常重要的技能,也是编程过程中极其重要的一个环节,因为没人敢打包票说自己写的程序没有任何问题。本文来讲讲使用CodeBlocks时,如何配置并启动调试器,以及如何调试程序。
工具/原料
CodeBlocks(mingw版)
1、不创建项目编译
1、在VC++中,若不创建项目,无法执行编译,如下图所示。之所以如此,是因为VC++通过项目模板配置编译参数。
2、CodeBlocks不要求创建项目,也可艮劁飨戽以执行编译,如下图所示。CodeBlocks编译一个文件生成一个可执行程序,比如编译single.cpp生成single.exe,不埠们萁猕自动生成任何其他文件。这在写小程序,如验证某些函数用法的情况下非常有用。但是,如果不创建CodeBlocks项目直接编译,将不能通过CodeBlocks启动调试器调试程序!
2、创建CodeBlocks项目
1、新建一个CodeBlocks项目。缬方焱蜱一个CodeBlocks项目或者工程,包含了生成一个可执行程序所亟冁雇乏需要的所有文件,包括源代码文件,图片等资源文件,以及库文件等等,还包括编译器、链接器、调试器配置参数等等。如果不创建项目,我们需要手工做上面这些事情。“项目”对应的英文单词“Project”,有些IDE工具也翻译为“工程”。只是叫法不同,实际指的是一个东西。
2、选择创建终端类型的项目(Consoleapplication)。所谓终端程序项目就是指生成的程序没有用户界面,在Windows只能通过CMD.exe等终端程序执行。初学C++时,都是选择终端程序项目。在实际应用过程中,服务器端程序基本上是终端类型的程序,即没有图形化用户界面,因为不必要。
3、配置新建项目的编译器。CodeBlocks支持配置使用多种编译器,包括VC++,使用默认GN曷决仙喁UGCCCompiler即可。勾选“Debug”后,编译器生成程序不做优化并瑕铆幌约加入调试信息,这样才能执行程序调试。勾选“Release”,编译器对生成程序进行编译优化,程序交付使用时要用这种编译方式。
4、CodeBlocks项目创建成功,自动生成一个main.cpp文件和“Helloworld”程序。同时,可以看到调试器相关选项可以用了。
3、开始调试程序
1、如图,输入程序,点击调试按钮:(1)如果程序没编译,CodeBlocks会先执行编译;(2)如下图报告错误,说明没有指定调试器,需先配置调试器(详见下一步)。
2、CodeBlocks配置使用GDB调试器。
3、调试准备工作。(1)打断点:点击行号右侧,在此行打断点——告知调试器执行到这个位置时,暂停;(2)监视窗口:打开监视窗口,输入变量名设置需要观察的变量。点击调试按钮,开始程序调试。
4、调试方式有:继续执行、单步调试、跟进、指令调试等等。(1)继续执行:从断点开始继续执行,到下一个断点为止;(2)单步调试:从断点开始,点一下执行一行,不点不执行;(3)跟进:进入函数执行;(4)指令:从断点开始,点一下执行一条指令。