An easy way to send debugging information to the Visual Studio Output window

I started an empty project in Visual Studio 2010 to write application C. How do I send debugging information to the output window (menu Debug β†’ Windows β†’ Output)? Is there a relatively simple way to implement TRACE or OutputDebugString or something like that?

+8
c visual-studio-2010 debug-information
source share
3 answers

OutputDebugString is a way to do this. Stack Overflow Question How do I use the TRACE macro in projects other than MFC? contains information on how to do something similar to MFC TRACE using OutputDebugString .

+7
source share

You can use OutputDebugString from VS C.

 #include <windows.h> int _tmain(int argc, _TCHAR* argv[]) { OutputDebugString(_T("Hello World\n")); return 0; } 

The output will only be displayed when starting with debugging (Debug> Start Debugging)

In the Output window, select "Debug" for "Show output from:"

+8
source share

If you use C ++, you might be interested in my portable TRACE macro.

 #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 

Example:

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

Any improvements / suggestions / contributions are welcome; -)

+1
source share

All Articles