将调试信息发送到Visual Studio“输出”窗口的简单方法

时间:2012-03-02 21:26:05

标签: c visual-studio-2010 output-window debug-information

我在Visual Studio 2010开始了一个空白项目来编写一个C应用程序。如何将调试信息发送到输出窗口(菜单调试 - > Windows - > 输出) ?是否有一种相对简单的方法来实现TRACEOutputDebugString或类似的东西?

3 个答案:

答案 0 :(得分:8)

您可以使用VS C程序中的OutputDebugString

#include <windows.h>

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

只有在运行调试(Debug&gt; Start Debugging)

时才会显示输出

在“输出”窗口中,为“显示输出:”

选择“调试”

答案 1 :(得分:7)

OutputDebugString 的方法。 Stack Overflow问题 How can I use the TRACE macro in non-MFC projects? 包含有关如何使用OutputDebugString制作类似于MFCTRACE宏的信息。

答案 2 :(得分:2)

如果您使用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');
}

欢迎任何改进/建议/贡献; - )