9

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

4

3 に答える 3

8

OutputDebugStringVS C プログラムから使用できます。

#include <windows.h>

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

出力は、デバッグを実行した場合にのみ表示されます ([デバッグ] > [デバッグの開始])。

出力ウィンドウで、「Show output from:」で「Debug」を選択します。

于 2012-03-02T21:34:10.840 に答える
7

OutputDebugStringする方法です。スタック オーバーフローの質問非 MFC プロジェクトで TRACE マクロを使用するにはどうすればよいですか? を使用してMFCTRACEマクロに似たものを作成する方法に関する情報が含まれていますOutputDebugString

于 2012-03-02T21:34:57.097 に答える
3

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');
}

改善/提案/貢献は大歓迎です;-)

于 2013-01-30T16:33:57.403 に答える