Home > C++ | Tips > VC++でデバッグ出力してソースの特定行へ飛ぶ

VC++でデバッグ出力してソースの特定行へ飛ぶ

VCでコンパイルエラーになると出力ウィンドウにメッセージが表示されて、そこをマウスでダブルクリックすると対応行へ飛ぶことができる。
これを自分でもやりたいときどうしたらいいのかと少し悩んだが、エラーメッセージの書式を同じにしたらできた。
OutputDebugString()で以下のような書式で出力すればよい。


ソースファイルパス(行番号) : メッセージ

つまり以下のような感じ。


#include <windows.h>
void myOutputDebugString(LPCTSTR format, ...)
{
    TCHAR errorMsg[1024];

    va_list vargs;
    va_start(vargs, format);
    wvsprintf(errorMsg, format, vargs);
    OutputDebugString(errorMsg);
    va_end(vargs);
}

#define JumpMessage(x) myOutputDebugString(_T("%s(%d) : %s\n"), _T(__FILE__) , __LINE__, (x))

int main(int argc, char *argv[]) {
   JumpMessage(_T("test"));
   return 0;
}

VC6とVC2008ではちゃんと動くことを確認した。デバッグにちょっと便利かも。

以上

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://red-treasure.com/report/wp-trackback.php?p=265
Listed below are links to weblogs that reference
VC++でデバッグ出力してソースの特定行へ飛ぶ from コスミー報告書[社外秘]

Home > C++ | Tips > VC++でデバッグ出力してソースの特定行へ飛ぶ

Search
Feeds
Meta
 合計:000304
 今日:0022 昨日:0113

Return to page top