Простой способ отправки отладочной информации в окно вывода Visual Studio - PullRequest
8 голосов
/ 03 марта 2012

Я запустил пустой проект в Visual Studio 2010 , чтобы написать приложение на Си. Как отправить отладочную информацию в окно Вывод (меню Отладка -> Windows -> Вывод )? Есть ли относительно простой способ реализации TRACE или OutputDebugString или чего-то подобного?

Ответы [ 3 ]

8 голосов
/ 03 марта 2012

Вы можете использовать OutputDebugString из программы VS C.

#include <windows.h>

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

Вывод будет виден только при запуске с отладкой (Debug> Start Debugging)

В выводевыберите «Отладка» для «Показать вывод из:»

7 голосов
/ 03 марта 2012

OutputDebugString - это способ . Вопрос переполнения стека Как использовать макрос TRACE в проектах, не относящихся к MFC? содержит информацию о том, как сделать что-то похожее на MFC TRACE макрос с использованием OutputDebugString.

2 голосов
/ 30 января 2013

Если вы используете 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');
}

Любые улучшения / предложения / предложения приветствуются; -)

...