1.准备头文件mylog.h
#pragma once
#ifndef _MYLOG_H_
#define _MYLOG_H_
#include <windows.h>
#include <tchar.h>
#define DP0(fmt) {TCHAR sOut[256];_stprintf_s(sOut,_T(fmt));OutputDebugString(sOut);}
#define DP1(fmt,var) {TCHAR sOut[256];_stprintf_s(sOut,_T(fmt),var);OutputDebugString(sOut);}
#define DP2(fmt,var1,var2) {TCHAR sOut[256];_stprintf_s(sOut,_T(fmt),var1,var2);OutputDebugString(sOut);}
#define DP3(fmt,var1,var2,var3) {TCHAR sOut[256];_stprintf_s(sOut,_T(fmt),var1,var2,var3);OutputDebugString(sOut);}
#endif
2.例子代码
(1)添加mylog.h到工程文件中,编写如下例程代码。
#include <log.h>
#include <thread>
void func()
{
int a = 2;
while(1)
{
DP1("TiaoshiApp %d",a);
a += 1;
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
}
}
void main()
{
std::thread t(func);
t.detach();
return;
}
(2)启动Debugview捕获。
3.注意
(1)vs中点击调试按钮时,Debugview无法捕获信息。
(2)vs中点击运行开始执行(不调试)时,Debugview可以获取信息。
(3)Debugview中可以设置过滤器,比如输出的字符串:TiaoshiApp xxxxxx ,就可以设置过滤条件Include TiaoshiApp,可以过滤掉其它不需要的字符串信息。例如下图所示。