c++ 高级打印调试技巧
Posted qianbo_insist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ 高级打印调试技巧相关的知识,希望对你有一定的参考价值。
1、打印到debugview
使用api OutputDebugString,可以打印到debugview 中,在debug中可以使用过滤来过滤所要的打印的内容,我们在所有的条件中加上打印的level
static void OutMessage(const char * level,const char * fmt, ...)
#ifdef _WIN32
va_list args;
va_start(args, fmt);
//char *buf = new char[10240];
char buf[1024];
_vsnprintf_s(buf, 1024, fmt, args);
va_end(args);
string str = level;
str += buf;
OutputDebugStringA(str.c_str());
//printf("%s\\n", buf);
#endif
这样,在过滤的时候,加上过滤的level,所有就写成*,否则写成level字符串
2、使用AllocConsole()
AllocConsole();
//接下来就可以使用下面的函数_cprintf()打印调试信息了
_cprintf("Cprintf\\r\\n");
_cprintf("xxx\\n");
OutMessage("desk step 1");
这样,即使在MFC的对话框中都可以调出一个console对话框来打印
以上是关于c++ 高级打印调试技巧的主要内容,如果未能解决你的问题,请参考以下文章