I'm using SysInternals DebugView with my .Net application. I've tried using the Indent feature of the .Net Debug class, but DebugView just seems to represent this as a NewLine character.
Does anyone know if it's possible to get DebugView to display the indents?
Sample Code:
static void Main (string[] args)
{
Debug.WriteLine("Indent level: {0}", Debug.IndentLevel);
Debug.Indent();
Debug.WriteLine("Indent level: {0}", Debug.IndentLevel);
Debug.Indent();
Debug.WriteLine("Indent level: {0}", Debug.IndentLevel);
Debug.Indent();
Debug.WriteLine("Indent level: {0}", Debug.IndentLevel);
Debug.Unindent();
Debug.WriteLine("Indent level: {0}", Debug.IndentLevel);
Debug.Unindent();
Debug.WriteLine("Indent level: {0}", Debug.IndentLevel);
Debug.Unindent();
Debug.WriteLine("Indent level: {0}", Debug.IndentLevel);
}
Output:
[9632] Indent level: 0
[9632]
[9632] Indent level: 1
[9632]
[9632]
[9632] Indent level: 2
[9632]
[9632]
[9632]
[9632] Indent level: 3
[9632]
[9632]
[9632] Indent level: 2
[9632]
[9632] Indent level: 1
[9632] Indent level: 0
What I'd Like to see:
[9632] Indent level: 0
[9632] Indent level: 1
[9632] Indent level: 2
[9632] Indent level: 3
[9632] Indent level: 2
[9632] Indent level: 1
[9632] Indent level: 0
Rik
But wait! It looks like it is possible. You just need to turn off the Force Carriage Returns feature on the Options menu.
I discovered the answer here: http://forum.sysinternals.com/topic26797_post131196.html#131196
Here's the text:
By default, the Force Carriage Returns option is enabled, which displays every string passed to a debug output function on a separate line, whether or not that text is terminated with a carriage return. If you disable that option in the Options menu, DebugView buffers output text in memory and adds it to the display only when a carriage return is encountered or the memory buffer is filled (approximately 4192 characters). This allows applications and drivers to build output lines with multiple invocations of debug output functions.