c++ 高级打印调试技巧

c++ 高级打印调试技巧,第1张

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对话框来打印

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/921151.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存