我在Visual Studio 2010开始了一个空白项目来编写一个C应用程序。如何将调试信息发送到输出窗口(菜单调试 - > Windows - > 输出) ?是否有一种相对简单的方法来实现TRACE
或OutputDebugString
或类似的东西?
答案 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
制作类似于MFC的TRACE
宏的信息。
答案 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');
}
欢迎任何改进/建议/贡献; - )