Code::Blocks debugger C程序调试

Code::Blocks debugger C程序调试

  • 一、准备工作
  • 二、调试
  • 三、如图所示

一、准备工作

1.检查
第一次调试,为避免出现以下错误,需要检查code blocks的gdb.exe安装路径是否填写。
错误情况

方法如下:
菜单栏Settings-Debugger-GDB/CDB debugger-Executable path: 如果这一项为红色空格,那么就需要找到路径填写出来。一般在code blocks的安装路径下。我的是:D:\codeblock\CodeBlocks\MinGW\gdb32\bin\gdb32.exe。
Code::Blocks debugger C程序调试_第1张图片

2.工程已建立好
以“十进制转二进制”C代码为例

//十进制转二进制并显示
#include 

int main(void) {
  int i;
  for(i=0;i<10;i++)
  {
    tran(i);
  }
  return 0;
}

void tran( int n ){
  int result=0,a=1,k,temp;
  temp = n;
  while(temp){
	 a = temp%2;
	 result = a * k + result;
	 a = a*10;
	 temp = temp/2;
  }
  printf("%d\n", result);
}

二、调试

1.设置调试断点。
如果不设置断点,点击debug,程序将顺序执行一遍后自动退出。这样就达不到调试的目的:检查代码,确定代码错误的原因和位置。
当工程很大的时候,调试需要分步进行,这更体现了调试的重要性。至少要有一个起始断点,或一个起始断点和一个终止断点。当只有一个起始断点时,调试从起始处开始,直到程序结束。
如图,待调试程序的断点设置始于第5行,止于第9行。
Code::Blocks debugger C程序调试_第2张图片

方法:在如上图中红点处,点击鼠标左键,就会看到如图的红点。再次点击即取消断点,红点消失。其他行也一样。
2.debug
工具栏中找到debug/continue的红色三角,点击即进入调试。或者菜单栏的debug选项中也能找到。
工具栏中的几个按钮解释:
Run to cursor 运行到光标
next line 下一步(下一行)
step into 步入(点击可进入子函数)
step out 步出(点击可从正在调试的子函数中跳出,与step into相反)
next instruction 下一条指令(按汇编的指令一条一条走)
step into instruction 进入汇编指令的下一级指令
叉号 终止调试
3.开始调试后,最好打开“Watches”窗口对变量进行实时观察。菜单栏-debug-debugging windows-Watches。

三、如图所示

Code::Blocks debugger C程序调试_第3张图片

你可能感兴趣的:(工具)