除了直接單步調試,有些情況還是需要打印信息來調試。這裏VS需要使用OutputDebugString進行和調試器的輸出互動,有可能有些延時,總體還是可以使用的。
如下:
#include <atlstr.h>
#include <winbase.h>
OutputDebugString("Hello");
這裏還不是很方便,因爲不能直接將變量直接進行顯示。參考如下:
#define _DEBUG 1
#ifdef _DEBUG
#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
#ifndef _DEBUG
#define DP0(fmt) ;
#define DP1(fmt, var) ;
#define DP2(fmt,var1,var2) ;
#define DP3(fmt,var1,var2,var3) ;
#endif
然後就可以直接使用了:
int i =1;
DP1("i=:%d\n",i);