C++下用宏定义调试打印小技巧
2009-03-23 11:02
363 查看
1. 直接打印调试
#ifndef _DEBUG
#define dbgprint(X) printf( #X "=%d/n",(X))
#else
#define dbgprint(X)
#endif
int main(int argc, char* argv[])
{
dbgprint(argc);
return 0;
}
2. 打印调试、日志打印(gcc下支持,vc6不支持,vc8支持可变参数宏)
#define DEBUG
#define LOG_FILE __FILE__".log"
#ifdef DEBUG
#define dbgprint(format,args...) fprintf(stderr, format, ##args)
#define logprint(format,args...) {FILE* fp=fopen(LOG_FILE,"a+");fprintf(fp,"line %d: "format,__LINE__,##args);fclose(fp);}
#else
#define dbgprint(format,args...)
#define logprint(format,args...)
#endif
3. vfprintf
void _db_print(const char *format,...)
{
va_list args;
va_start(args, format);
vfprintf(stderr,format, args);
va_end(args);
}
#ifndef _DEBUG
#define dbgprint(X) printf( #X "=%d/n",(X))
#else
#define dbgprint(X)
#endif
int main(int argc, char* argv[])
{
dbgprint(argc);
return 0;
}
2. 打印调试、日志打印(gcc下支持,vc6不支持,vc8支持可变参数宏)
#define DEBUG
#define LOG_FILE __FILE__".log"
#ifdef DEBUG
#define dbgprint(format,args...) fprintf(stderr, format, ##args)
#define logprint(format,args...) {FILE* fp=fopen(LOG_FILE,"a+");fprintf(fp,"line %d: "format,__LINE__,##args);fclose(fp);}
#else
#define dbgprint(format,args...)
#define logprint(format,args...)
#endif
3. vfprintf
void _db_print(const char *format,...)
{
va_list args;
va_start(args, format);
vfprintf(stderr,format, args);
va_end(args);
}
相关文章推荐
- __FILE__ __LINE__ C++ 宏定义 调试
- c和C++的调试打印输出方法
- [调试][程序打印]当printf不能用时,使用C++的不定参数来搞定OutputDebugString打印
- linux C宏定义实现打印调试信息
- gdb 调试c/c++的一些小技巧
- 调试信息的宏定义:能够打印出文件名、函数、行数、日志,方便调试
- paip.c++程序崩溃的汇编级别调试-打印堆栈-gcc gdb
- C++日志调试打印接口
- C++软件添加dump调试打印日志(推荐)
- [调试相关]预编译文件中宏定义打印日志
- gdb 调试c/c++的一些小技巧
- [调试相关]预编译文件中宏定义打印日志
- C/C++打印带颜色的调试信息
- C++不定参数打印调试信息
- Debug模式应用程序输出Debug调试信息(现成的宏定义,用于格式化打印信息)
- gdb 调试c/c++的一些小技巧
- iOS小技巧14- 调试bug技巧-打印XCode的 Stack Trace信息
- Android C/C++ 调试打印开关
- C++小技巧emun namespace 指针*、&(在函数里做参数) exit与return Win32宏定义 双等号代表意义
- C/C++ 程序调试的几个小技巧