软件项目工程中的调试技巧
来源:互联网 发布:过程关系矩阵图 编辑:程序博客网 时间:2024/05/16 14:06
#define FUN_DEBUG 0
#define ARG_DEBUG 0
#define ERR_DEBUG 0
#if FUN_DEBUG
#define FUN_IN(fmt, args...) printf("====>%s()"fmt"\n", __func__, ##args)
#define FUN_OUT(fmt args...) printf("<====%s()"fmt"\n", __func__, ##args)
#else
#define FUN_IN(fmt, args...)
#define FUN_OUT(fmt args...)
#endif
/**********************************/
或者:
#if FUN_DEBUG
#define FUN_IN(fmt, ...) printf("====>%s()"fmt"\n", __func__, ##__VA_AGRS__)
#define FUN_OUT(fmt, ...) printf("<====%s()"fmt"\n", __func__, ##__VA_AGRS__)
#else
#define FUN_IN(fmt, ...)
#define FUN_OUT(fmt, ...)
#endif
/**********************************/
#if ARG_DEBUG
#define PRINT_ARG(fmt, args...) printf("%s()"fmt"\n", __func__, ##args)
#else
#define PRINT_ARG(fmt, args...)
#endif
#if ERR_DEBUG
#define PRINT_ERR(fmt, args...) \
do \
{ \
printf("\033[5;41;32m [ERROR] ---> %s():line[%d]:\033[0m\n", __func__, __LINE__); \
printf(" "fmt, ##args); \
}while(0)
#else
#define PRINT_ERR(fmt, args...)
#endif
Note: #if 和 #ifdef 的区别
#if 是判断表达式是否为真来决定编译哪一个部分, #ifdef是主要参数被#define定义过 则编译下面代码。
- 软件项目工程中的调试技巧
- 软件调试技巧总结
- 软件调试技巧
- 软件调试技巧
- 软件项目工程中的应用执行脚本模板
- dll工程的调试技巧
- 软件项目规划技巧
- 《软件调试》系计算机软件工程、开发项目管理类图书,作者:张银奎。
- VS2010中的调试技巧
- VS2008中的调试技巧
- VS2010中的调试技巧
- VS2010中的调试技巧
- VS2010中的调试技巧
- VS2008中的调试技巧
- VS2010中的调试技巧
- VS2010中的调试技巧
- VS2010中的调试技巧
- xcode中的调试技巧
- 7.4.1简单选择排序
- tomcat无法启动的原因排错以及端口被占用的解决办法
- 关于锚点跳转及jQuery下相关操作与插件
- js 文件中含有敏感信息(ip地址等)如何处理
- feedood 绘制大型场景
- 软件项目工程中的调试技巧
- JNI/NDK开发指南(七)——C/C++访问Java实例变量和静态变量
- 7.4.2 选择排序之堆排序
- bootstrap入门【表单样式】
- PhpStorm调用浏览器运行php文件
- android spinner自定义背景文字显示不全解决办法
- maven depoly
- Domino 单点登录(SSO)用户名映射功能
- 分支管理---解决冲突