デバッグ出力でファイルへのジャンプ

デバッグ出力

Visual Studioでエラーや警告が出ているときにログをクリックすると問題が起きているコードの場所に飛んでくれる機能があります。

あまり知られていない事のようですが、実はこれはビルド時の専用機能ではありません。
出力ウィンドウに既定のフォーマットで文字を出力すれば使えるVisual Studioの機能なんです。

出力フォーマット

ファイルのパス(行数)

このようにファイルのパスと行数を出力するだけで使えてしまいます。

実際に出力するコード

例えばプログラム中に特定のファイル上にジャンプするログは下記のように出力できます。

char temp[MAX_PATH];
sprintf_s(temp, "%s(%d)\n", __FILE__, __LINE__);
OutputDebugString(temp);

・出力例
d:\work\directxlib\directxlib\source\main.cpp(10)

実際の出力された内容はこのようになります。
このログをクリックすると該当するファイルを開いて指定された行を指してくれます。

なんだか便利な気がしませんか??

実際の使用用途について

ログからファイルにジャンプできるようになったはいいけどどこで使うと便利になるでしょう?

例えば実行中の警告処理なんかには使えます。
警告を出す際に同時に表示しておけば警告のログをクリックするだけでコードの場所が分かります。

他には独自スクリプトを組んでいた時に使えます。
実行時に問題があった個所でログを出力するようにすれば外部のテキストファイルでも開いてくれます。

D:/script.txt(10)

とかですね。

他にも使いどころはあると思いますので皆さんも使ってみてください!
※ちなみにVisual Studioなら言語関係なく使えます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です