2012-03-02 14 views
8

Visual Studio 2010で空のプロジェクトを開始してCアプリケーションを作成しました。 出力ウィンドウ(メニューデバッグ - > - >出力)にデバッグ情報を送信するにはどうすればよいですか? TRACEまたはOutputDebugStringなどを実装する比較的簡単な方法はありますか?Visual Studioの[出力]ウィンドウにデバッグ情報を送る簡単な方法

+0

可能重複して歓迎されます(http:// stackoverflow.com/questions/7697842/printing-output-on-the-output-window-in-visual-c-ide) –

+0

参照:http://stackoverflow.com/q/1333527/39648 –

答えて

8

OutputDebugStringは、VS Cプログラムから使用できます。 [出力]ウィンドウでデバッグ(デバッグ>デバッグ開始)で実行した場合、出力にのみ表示されます

#include <windows.h> 

int _tmain(int argc, _TCHAR* argv[]) 
{ 
    OutputDebugString(_T("Hello World\n")); 
    return 0; 
} 

、「から表示出力:」の「デバッグ」を選択

+0

_T()あり...? – Simon

+1

@Simonこれは、UnicodeモードとANSIモードの両方でコンパイルされたプログラムを作成するための標準のMicrosoftプリプロセッサーマクロです。 [tchar.hとfriends](https://msdn.microsoft.com/en-us/library/windows/desktop/ff381407(v=vs.85))を使用していない場合は、_T()を削除できます。 aspx#tchars)。 –

1

C++を使用している場合、私の移植可能なTRACEマクロに興味があるかもしれません。

#ifdef ENABLE_TRACE 
# ifdef _MSC_VER 
# include <windows.h> 
# include <sstream> 
# define TRACE(x)       \ 
    do { std::ostringstream s; s << x;  \ 
      OutputDebugString(s.str().c_str()); \ 
     } while(0) 
# else 
# include <iostream> 
# define TRACE(x) std::cerr << x << std::flush 
# endif 
#else 
# define TRACE(x) 
#endif 

例:

#define ENABLE_TRACE //can depend on _DEBUG or NDEBUG macros 
#include "my_above_trace_header.h" 

int main (void) 
{ 
    int  i = 123; 
    double d = 456.789; 
    TRACE ("main() i="<< i <<" d="<< d <<'\n'); 
} 

どれ改善/提案/貢献は[ビジュアルC++ IDEでの出力ウィンドウに印刷出力]の;-)

関連する問題