There are several benefits that I can always think of with DebugView:
- The time information is always useful, it’s always there for each line, very useful especially when looking into performance
- The outputs are not being cluttered by the other output messages such as in Visual Studio output messages
- It’s running externally, which also means that we can run this separately with the real app and see the debug/trace messages in there without any configuration required.
- You can even connect to other machine to capture the output, this is really useful if you have an application server, you can just fire up the tool and say that you want to connect to that particular server and walahhh you can see the debug/trace outputs (of course with administrator access to that machine in mind)
Now, I actually just realized today at home when trying to create and debug a simple app with VS 2010, the output is not being captured anymore in the DebugView and sadly this was said by Design.
I can see that a lot of people have the same frustrations (here and here) as well because of this, you can find couple of suggested workarounds for this, however it seems that you still can’t get the debug/trace being output into the DebugView when debugging the code (you can see the debug/trace in DebugView by just running the app). I haven’t tried whether this is working or not when running unit tests in VS2010, but I would suspect the same thing will happen.
I was looking an alternative where we can actually find a way to “inject” the messages into somewhere that DebugView can capture by probably having a derived class of TraceListener, but i didn’t manage to find one unfortunately, yet.
This is just my rant because of something that we can get easily is now not anymore :|
Love to hear if you have any findings on this, but I’ll probably live by using the Ctrl+F5 for now as I don’t feel like doing -> Debug.WriteLine(DateTime.Now.ToString() + ” – ” + someDebugMessage);