1. 什麼是DebugView?
它是Sysinternals公司的系列調試工具。可以捕獲程序中由TRACE()和OutputDebugString輸出的信息。
2. C++需要完成哪些工作呢?
將打印的信息用OutputDebugString輸出,示例:
#include "stdio.h"
using namespace std;
#define UseDebugView
#ifdef UseDebugView
#include "windows.h"
char g_Debug[256];
#endif
int main()
{
int sum = 0;
#ifdef UseDebugView
sprintf_s(g_Debug, 256, "FJL---【循環求和】[In]\n");
OutputDebugStringA(g_Debug);
#endif
for (int i = 0; i < 5;i++)
{
sum += i;
//printf("sum is %d!\n", sum);
}
#ifdef UseDebugView
sprintf_s(g_Debug, 256, "FJL--【循環求和】[Out]\n");
OutputDebugStringA(g_Debug);
#endif
return 0;
}
如果我們能在debugview看到輸出的信息,是不是一定程度就可以調程序了呢?!
3. DebugView需要完成的工作?首先,設定DebugView的View條件,如下所示:
然後,運行程序,觀察DebugView界面顯示字符串:
總結:
C++設置我們期望的執行位置提示字符串;DebugView觀察是否按照預期將其輸出,根據輸出的信息,便可以推斷出代碼問題所在。
調試工具不是萬能的,只是一種輔助!!!