Displaying debug messages

Applies to Windows and Windows Phone

When developing for iOS, you’ve probably used NSLog to display debugging and status messages. Here's how you would do that with Windows 8 and Windows Phone 8.1.

Writing text to the console / output window

Although Visual Studio provides excellent debugging tools, there are times when you may want to quickly display a status message to the console. In the same way that iOS provides you with NSLog(), Windows also provides ways to display text on the console.

First, make sure that Visual Studio is displaying the Output window, by selecting Output from the View menu or by pressing CTRL O, W.

To display text in C# use Debug.WriteLine(), like this:


// using System.Diagnostics;
Debug.WriteLine("Hello World");

You can include parameters too, like this:


  // using System.Diagnostics;
string text = "The Answer is:";
int answer = 42;
Debug.WriteLine("Hello. {0} {1}", text, answer);

When using JavaScript, use console.log(), like this:


var text = "The Answer is ";
var answer = 42;
console.log("Hello. ",text,answer);

In C++, the output from OutputDebugString is sent to the Intermediate windows rather than the Output window.


OutputDebugString(L"Hello World\n");

As OutputDebugString only accepts a single string, displaying a numeric value can be a little trickier.

One solution is to define a function to format your data:


void WinLog(const wchar_t *text, int n)
	{
		wchar_t buf[1024];
		_snwprintf_s(buf, 1024, _TRUNCATE, L"%s %d\n", text, n);
		OutputDebugString(buf);
	}

This function can then be called like this:

WinLog(L"The Answer is", 42);

Related topics

Debug.WriteLine Method (String)
JavaScript Console commands
System.Diagnostics namespaces

 

 

Show:
© 2014 Microsoft