デバッグ出力の方法
コンソールウィンドウでプログラムを打つときは printf で文字列が出力できました。
ただWin32のプロジェクトでは通常はコンソールウィンドウが表示されません。
そういった時はVisual Studioの出力ウィンドウが使えます。
VOID OutputDebugString(LPCTSTR lpOutputString);
このOutputDebugStringを使えば出力ウィンドウに文字を出力できます。
OutputDebugString("Debug\n");
これで結果が下のようになります。
プログラムでどこまで処理が通っているか?
どんな値が入ってきているのか?
これはそういったチェックに使えるのでデバッグが便利になります。
ただこれだと文字をそのまま出すだけなので少し不便です。
そういった時は下記のような形にしてみましょう。
#define TRACE(_format_, ...) \ { \ char temp[MAX_PATH]; \ sprintf(temp, _format_, __VA_ARGS__); \ OutputDebugString(temp); \ }
こんな感じに書いておけばprintfと同じよう使えます。
TRACE("Test:%d\n", 5);
デバッグビルド以外の時はdefineの中身を空にしておけばReleaseで何も表示されないので使い勝手がいいですよ!
デバッグで文字を出していない人がいたら一度試しに出してみましょう!