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;??
- ??????????
- ????}??
- #ifdef?UseDebugView??
- ????sprintf_s(g_Debug,?256,?"FJL--【循環求和】[Out]\n");??
- ????OutputDebugStringA(g_Debug);??
- #endif??
- ????return?0;??
- }??
如果我們能在debugview看到輸出的信息,是不是一定程度就可以調程序了呢?!
3. DebugView需要完成的工作?
首先,設定DebugView的View條件,如下所示:

然后,在Capture菜單中打開capture win32,運行程序,觀察DebugView界面顯示字符串:

總結:
C++設置我們期望的執行位置提示字符串;DebugView觀察是否按照預期將其輸出,根據輸出的信息,便可以推斷出代碼問題所在。
調試工具不是萬能的,只是一種輔助!!!