2012-03-02 9 views
8

Comencé un proyecto en blanco en Visual Studio 2010 para escribir una aplicación C. ¿Cómo puedo enviar información de depuración en la salida ventana (menú Depurar -> de Windows -> salida )? ¿Existe una forma relativamente simple de implementar TRACE o OutputDebugString o algo similar?Forma simple de enviar información de depuración a la ventana 'Salida' de Visual Studio

+0

posible duplicado de [salida de impresión en la ventana de resultados en Visual C++ IDE] (http: // stackoverflow.com/questions/7697842/printing-output-on-the-output-window-in-visual-c-ide) –

+0

Ver también: http://stackoverflow.com/q/1333527/39648 –

Respuesta

8

Puede usar OutputDebugString desde un programa VS C.

#include <windows.h> 

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

La salida sólo será visible si se ejecuta con la depuración (depuración> Iniciar depuración)

En la ventana de resultados, seleccione "depuración" de "Mostrar la salida de:"

+0

_T() ...? – Simon

+1

@Simon es una macro preprocesador de Microsoft estándar para tratar con la creación de programas que compilan tanto en modo Unicode como en modo ANSI. Puede eliminar _T() si no está utilizando [tchar.h y sus amigos] (https://msdn.microsoft.com/en-us/library/windows/desktop/ff381407 (v = vs.85). aspx # tchars). –

1

Si usa C++, es posible que le interese mi macro portátil 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 

ejemplo:

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

Cualquier mejoras/sugerencias/contribuciones son bienvenidas ;-)

Cuestiones relacionadas