May 2003 - Posts

Well, I leave for Sunny Dallas in the morning for Tech*Ed 2003. (Well apparently cloudy and rainy, this week) I went in 2001, and it was a blast, and I hope that this is a repeat enjoyable time. Maybe I'll even run into other dotnetwebloggers there.

Have a good week. :)

(Note: This is a two part blog post. First part is a product announcement, second part is a question to developers)

I've written a small program called TraceMonitor that is used to capture output from Trace.Write & Debug.Write, etc. I'm re-releasing it to the development community in the hopes that some people can get some use out of it. It's based on DBMon.exe, but allows a finer granularity in filtering and display. It displays an aggregate log, and also splits output from each program into it's own log so you can view an individual session. You can get it at http://www.szurgot.net/projects/default.aspx under TraceMonitor.

Second Part:

I love the Trace.WriteLine & Debug.WriteLine functionality as a debugging tool. It's great to be able to add non-visible program output that can be captured and displayed by a secondary program. You can track changes to the data without having to drop into a debugger all the time, and remove the trace output with no impact to the actual program. It's obvious that somebody at MS likes it, because there is a decent amount of classes to allow for output, and granularity of output in the System.Diagonstic namespace.

My question is, what do other people use to capture this data. I know of three programs that do it (four if you count mine). One is dbmon.exe, a console based version that just spits everything out to a console window. One is SysInternals DbgView, which is pretty nice in that you can connect to another machine and view it's Trace/Debug/OutputDebugString output. The third, of course, is Visual Studio, which capture the info of a program running in Debug mode. Are there any others that people use? What makes the good or bad?

I wrote my TraceMonitor program (for one reason) because I couldn't stand the fact that alot of programs leave Trace/Debug statements in release versions, so my debugging gets all messed up when I'm running some of these programs. (MusicMatch dumps tons of output to the Trace, especially when ripping CDs, Visual Studio even sends a few lines, even though it's not much.) Does anybody else run into this problem, or are there other programs out there that allow you to filter out programs.

Anyway, please try out the program, and any comments, pointers to existing programs are greately appreciated.

Suggestion for ASP.NET 2.0:

ASP.NET Trace.Write/Warn and RemoteError functionality is wonderful and all, but there really needs to be a way to view this information without having to log directly into the console, or opening up the views to everybody. IE: a special ip exception list, where anybody on this list gets directly to the trace, or a special NTLM login list that applies to trace.axd. It's frustrating to pull out Terminal Services just to check a quick error :(

So much attention is being paid to the blogging plugin, and using it to identify the currently playing song, but as noted by this article on MSDN, it's quite easy to use for other purposes, and it changes the title of the Windows Media Player to display the song title which is something that's bothered me since I switched to using WM9.

In fact, the only thing that seems to make it a "blogging" plugin is the fact that it is supported by a few blogging programs. I plan to use it to find a better way of displaying what song I'm listening on my own personal machine. (I just got through ripping 20+GB of my own CDs, so I'm not even sure what's what)

I've been playing around with Smart Client and Web Form controls downloaded via HTTP, or hosted in a page, and I must say I'm really impressed. First, it's nice that MS removed the security restriction that made it next to impossible to download WinForms stuff without jumping through major hoops, and second, it's rather impressive the control you get, and the ease with which you can set up a page with a control on it. I hope that we see pages that use it the way applets were common in the mid to late 90's. I know I'm going to use it for admin pages on our web app, instead of trying to maintain complex web forms...

More Posts