Print debug message based on MinGW

网友投稿 631 2022-08-27

Print debug message based on MinGW

Print debug message based on MinGW

夜深了,记录一篇打印log的文章。 我们知道,在C/C++中,一些特定的宏很有用,比如​​​__FILE__​​​, ​​__LINE__​​​等,他们可以告诉我们当前程序运行的信息。另外,参数可变的函数,dateType func (char * fmt, …)让我们随心所欲的输入任意个数的参数。结合这两者的优点,可以创建显示程序运行点的log打印函数。这对于bug定位有非常重要的意义。 如下是log函数的实现:

/* * Log.h * * Created on: 2017年12月8日 * Author: weiyang */#ifndef LOG_H_#define#include void LOGBASE(const char *file, const int line, const char *funcName, const char * fmt, ...){ #define char buffer[BUFFSIZE] = {0}; int n = sprintf(buffer,"file: %s, line: %d, funcName: %s ",file, line, funcName); va_list vap; va_start(vap, fmt); //variable arguments list vap init vsnprintf(buffer+n, BUFFSIZE-n, fmt, vap); // add list vap to buff va_end(vap); printf("%s\n",buffer);}#define#endif

我们使用的时候直接调用LOGBASE即可,将其当作可打印有限字节数的printf函数来用。 如:

int bytes = write(sockfd, &ch, 1); LOGDBG("write bytes: %d\n", bytes);

将debug 信息输出到日志中,相关应用: ​​​​​​​​​https://github.com/theArcticOcean/enVocabulary/blob/master/Src/main.cpp​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:QT 窗体上放GIF动态图
下一篇:【VTK】vtkImageActor显示图片的问题记录
相关文章

 发表评论

暂时没有评论,来抢沙发吧~