首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>cc++>正文

C 编程中的四个调试小技巧

http://www.oklinux.cn  2008-03-07  来源: C 学习资源网 leisureful  会员收藏  游客收藏  【 】 

1、调试标记

适用预处理#define定义一个或多个调试标记,在代码中把调试部分使用#ifdef和#endif进行管理。当程序最终调试完成后,只需要使用#undef标记,调试代码就会消失。常用的调试标记为DEBUG, 语句序列:







#define DEBUG

#ifdef DEBUG

调试代码

#endif

2、运行期间调试标记

在程序运行期间打开和关闭调试标记。通过设置一个调试bool标记可以实现。这对命令行运行的程序更为方便。例如下面代码:

#include<iostream>
#include <string>
using namespace std;
bool debug =false;
int main(int argc,char*argv[])
{
 for(int i=0;i<argc;i  )
  if(string(argv[i])==“--debug=on“)
  debug = true;
  bool go=true;
  while(go)
  {
   if(debug)
   {
    调试代码
   }else {}
  }
}

3、把变量和表达式转换成字符串

可是使用字符串运算符来实现转换输出定义

#define PR(x) cout<<#x”=”<<x<<'\n'

4、c语言的assert()

该宏在中,,当使用assert时候,给他个参数,即一个判读为真的表达式。预处理器产生测试该断言的代码,如果断言不为真,则发出一个错误信息告诉断言是什么以及它失败一会,程序会终止。

#include< assert>
using namsapce std;
int main()
{
 int i=100;
 assert(i!=100);
//Fails
}
当调试完毕后在#include<assert>前
加入#define NDEBUG即可消除红产生的代码
}


上一篇:详细解析C 编写的ATM自动取款机模拟程序   下一篇:教您在C/C 中如何构造通用的对象链表


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·教您在C/C 中如何构造通用的对象
·详细解析C 编写的ATM自动取款机模拟程序
·Windows下C语言网络编程快速入门
·编程初级班:C语言程序设计入门系列之一
·如何在Linux桌面上搭建C/C IDE开发环境
·编程初级班:C语言程序设计入门系列之二
·专家教您如何在C语言中巧用正则表达式
·与C/C 指针相似的C#代表元及事件触发
·初学者必备:教你理解复杂的C/C 声明
·浅议C语言中数组和指针的互操作
·编程秘籍篇:C语言高效编程的四大绝招
·移形幻影大法 C 程序员快速学习C#之二
·移形幻影大法 C 程序员快速学习C#之一
·细述C/C 字符指针数组及指向指针的含义
·移形幻影大法 C 程序员快速学习C#
·初学者编程入门:学习C 的最大难度
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·用Eclipse平台进行C/C 开发
·在 Linux 中使用共享对象
·VS:针对Java开发人员的C#编程语言
·使用智能设备扩展在C#中开发自定义控件
·Visual C# 常见问题
·二级C语言实例解答
·一种被忽视的构造和整数溢出重现
·轻轻松松C to C
·与用于 C 的ISO标准保持一致
·用C 的托管扩展针对Windows编程
·运行时和编译时的安全性检查
·轻轻松松C to C (二)
  阅读排行
·c/c++ 学习-read 函数和 write 函数
·程序员眼中的qmail(qmail源代码分析)
·Awk 基础入门:Awk 实例编程
·autoconf 和automake生成Makefile文件
·Linux下的多进程编程
·入门文章:教你学会编写Linux设备驱动
·C++自动化(模板元)编程基础与应用
·使用 GDB 调试多进程程序
·Qt 不规则窗体的实现
·嵌入式程序员应知道的几个基本问题
·Linux操作系统中GCC的应用介绍
·C语言中的指针和内存泄漏
·用GNU profiler提高代码运行速度
·vi 中的正则表达式 (Regular Expressio
·Linux 套接字编程中的 5 个隐患
网摘收藏: