首页 > 编程语言 > 详细

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

时间:2015-11-25 23:36:00      阅读:243      评论:0      收藏:0      [点我收藏+]

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

#define DEBUG
#ifdef DEBUG
调试代码
#endif

举例如下:

#include "Hello.h"
#include <iostream>
#include <string>
#include <vector>


//#define NDEBUG 
using std::string; using std::cout;
using std::endl; using std::cin; using std::vector;

int main(){
#ifndef NDEBUG
    cout << "Jason Li";
#endif NDEBUG
    system("pause");
    return 0;
}

2、运行期间调试标记

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

bool debug =false; 
int main(int argc,char*argv[]) 
{   
    for(int i=0;i<argc;i++)    
        if(string(argv)==“--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++编程中的四个调试小技巧

原文:http://www.cnblogs.com/duhuo/p/4996105.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!