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。
Debugger Settings

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

//十进制转二进制并显示
#include <stdio.h>

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行。
断点

方法:在如上图中红点处,点击鼠标左键,就会看到如图的红点。再次点击即取消断点,红点消失。其他行也一样。
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。

三、如图所示

调试

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值