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++ 高级打印调试技巧的主要内容,如果未能解决你的问题,请参考以下文章

Windows下软件调试

使用Line Pos Info 和 Modern C++ 改进打印日志记录

[转] Xcode 高级调试技巧

idea 高级调试技巧

Visual Studio高级调试技巧

Visual Studio高级调试技巧