debug 输出log控制
2016-12-19 20:30
218 查看
/*简单打印调试信息*/ #define DEBUG_SWITCH 1 #ifdef DEBUG_SWITCH #define my_debug(fmt,args...) printf(fmt, ##args) #else #define my_debug(fmt,args...) /*do nothing */ #endif /*错误信息打印:自动打印发生错误时代码所在的位置*/ #define ERR_DEBUG_SWITCH 1 #ifdef ERR_DEBUG_SWITCH #define pr_err(fmt,args...) printf("\nFile:<%s> Fun:[%s] Line:%d\n "fmt, __FILE__, __FUNCTION__, __LINE__, ##args) #else #define pr_err(fmt,args...) /*do nothing */ #endif /*断言: 对某种假设条件进行检查0/1(若条件成立则无动作,否则报告错误信息)*/ #define _EXAM_ASSERT_TEST_ 1 #define _EXAM_ASSERT_EXIT_ 1 #ifdef _EXAM_ASSERT_TEST_ void exam_assert(int condition, const char * file_name, const char *fun, unsigned int line_no, const char *fmt, ...) { char sBuf[1024]; va_list va; if (!condition) { bzero(sBuf, sizeof(sBuf)); va_start(va, fmt); vsprintf(sBuf, fmt, va); printf("\n[EXAM]Assert failed: File:<%s> Fun:[%s] Line:%d\n %s", file_name, fun, line_no, sBuf); #ifdef _EXAM_ASSERT_EXIT_ abort(); #endif } } #define EXAM_ASSERT(condition, fmt, args...) exam_assert(condition, __FILE__, __FUNCTION__, __LINE__,fmt, ##args) #else // 若不使用断言测试 #define EXAM_ASSERT(condition, fmt, args...) NULL #endif /* end of ASSERT */
相关文章推荐
- Swift 自定义打印, 自定义输出函数 ,自定义log, Debug
- ROSETTA使用技巧随笔--控制Log输出等级
- 【Log】一个功能强大的Log封装库包括控制日志输出,保存Log到文件,过滤输出等级。。
- Linux内核pr_debug的应用及log级别控制原理简析
- Unity3D研究院之在发布版本屏蔽Debug.log输出的Log
- /proc/sys/kernel/printk 控制log的输出
- AndroidStudio 使用Gradle 控制Log 日志输出
- iOS开发的一些小技术:让UIImage有缩放功能、控制log的输出、xcode修改文件注释、随机数的使用、在UIImageView 中旋转图像、在Quartz中如何设置旋转点、创建.plist文件并存储
- 控制Log的输出
- 发布应用时控制log日志输出
- 根据Debug和Release状态的变化来控制日志输出
- dynmic_debug动态控制kernel下的日志输出
- 解决华为手机无法输出Debug级别log的问题
- dynamic debug log输出机制
- git log控制输出宽度
- qDebug()的输出控制及qmake的debug和release
- DEBUG下输出Log
- ios中判断控制台Log输出控制,是否是iphone5,自动调整尺寸
- 【android】利用BuildConfig.DEBUG来控制日志的输出
- unity debug.log()富文本输出