按理说,输出调试信息的标准方法是OutputDebugString,但今天在做一个项目的时候,遇到特殊情况,DBGVIEW无法输出任何信息,如果慢慢处理则会浪费很多时间,于是想到通过新建文件夹来输出调试信息。反正达到目的最关键。
void MDDB(const char *strOutputString,...)
{
static unsigned int c=0;
char strBuffer[1000]={0}, sz[1024]={0};
va_list vlArgs;
va_start(vlArgs,strOutputString);
_vsnprintf(strBuffer,sizeof(strBuffer)-1,strOutputString,vlArgs);
va_end(vlArgs);
sprintf(sz,"c:\\[%ld]%s",c,strBuffer);
CreateDirectoryA(sz,NULL);
c++;
}
所有调试信息都会以在C盘新建文件夹的形式输出,并且会按照顺序排列([1]、[2]、[3]等),但缺点是不能有特殊符号(遇到需要输出路径的时候有点麻烦,需要把:和\都替换为别的字符)。