输出函数
void debug_printf(const char *pstr, ...)
{
va_list arglist; // 申请参数列表变量
va_start(arglist, pstr);// 申明最后一个传递给函数的已知的固定参数
vsnprintf((char * )printfBuf, PRINTF_BUF_SIZE, (char * )pstr, arglist);
va_end(arglist);
printf("%s", printfBuf);
}
__MODULE__:显示文件名
__FUNCTION__:显示函数名
| __DATE__ | 当前日期,一个以 "MMM DD YYYY" 格式表示的字符常量。 |
| __TIME__ | 当前时间,一个以 "HH:MM:SS" 格式表示的字符常量。 |
| __FILE__ | 这会包含当前文件名,一个字符串常量。 |
| __LINE__ | 这会包含当前行号,一个十进制常量。 |
| __STDC__ | 当编译器以 ANSI 标准编译时,则定义为 1 |
#define DEBUG_TRACE() debug_printf("%s(%d)%s()\r\n", __MODULE__, __LINE__, __FUNCTION__)
#define DEBUG_WARNING(fmt, arg...) do {debug_printf("\r\n%s(%d)WARNING:"fmt, __MODULE__, __LINE__,##arg);}while(0)
#define DEBUG_ERROR(fmt, arg...) do {debug_printf("\r\n%s(%d)ERROR:"fmt, __MODULE__, __LINE__,##arg);}while(0)
#define DEBUG_MSG(fmt, arg...) debug_printf("%s(%d):"fmt, __MODULE__, __LINE__, ##arg);
#define DEBUG_PRINTF(fmt, arg...) debug_printf(fmt, ##arg)
本文介绍了一个简单的调试打印函数实现,该函数使用宏定义来方便地输出带有文件名、行号及函数名的日志信息,适用于软件开发过程中的调试需求。
1万+

被折叠的 条评论
为什么被折叠?



