如何在非 MFC 项目中使用 TRACE 宏?

2021-12-22 00:00:00 visual-c++ c++ visual-studio-2005

我想使用 TRACE() 宏在 Visual Studio 的调试窗口中获取输出;2005 在一个非MFC C++ 项目中,但附加的头文件或库是需要吗?

I want to use the TRACE() macro to get output in the debug window in Visual Studio 2005 in a non-MFC C++ project, but which additional header or library is needed?

有没有办法在调试输出窗口中放置消息,我该怎么做?

Is there a way of putting messages in the debug output window and how can I do that?

推荐答案

构建您自己的方案.

trace.cpp:

#ifdef _DEBUG
bool _trace(TCHAR *format, ...)
{
   TCHAR buffer[1000];

   va_list argptr;
   va_start(argptr, format);
   wvsprintf(buffer, format, argptr);
   va_end(argptr);

   OutputDebugString(buffer);

   return true;
}
#endif

trace.h:

#include <windows.h>
#ifdef _DEBUG
bool _trace(TCHAR *format, ...);
#define TRACE _trace
#else
#define TRACE false && _trace
#endif

然后只需 #include "trace.h" 就可以了.

then just #include "trace.h" and you're all set.

免责声明:我只是从个人项目中复制/粘贴了此代码并取出了一些特定于项目的内容,但没有理由它不起作用.;-)

Disclaimer: I just copy/pasted this code from a personal project and took out some project specific stuff, but there's no reason it shouldn't work. ;-)

相关文章