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ではちゃんと動くことを確認した。デバッグにちょっと便利かも。
以上