Andrej Tozon's blog

In the Attic

NAVIGATION - SEARCH

VS2005 Debugger Visualizers

Personally, I don't like debugging - the word itself suggests your code is buggy ;) But since this is an unavoidable fact and debugging plays one of the key parts in the development process, why not making this process more efficient and hmm, enjoyable?

Visual Studio 2005 introduced Debugger Visualizers, which help you, the developer, view different types of data in a "natural" way, while stepping through your code in the debugger. That is, strings are presented in a simple text box, datasets and datatables in a grid, etc. In fact, VS2005 comes with a few built-in visualizers, but the best part is this: you can write your own! Be that for one of .NET native classes, or for any of your complex classes that needs special rendering or presentation form.

I currently find the following Debugger Visualizers helpful:

  • IDesign's Visualizers pack - Image, Color and Sound visualizers. In source code; a nice starting point for learning how to write your own.
  • Team Agile Regex Kit - Regular Expressions Visualizers. Just released. If you use The Regulator, don't miss these.
  • RightHand.DataSet.Visualizer - More features than the built-in DataSet Visualizer. Currently free, but with expiration date set to 2/2/2006.
  • [Updated] Conchango Xml Visualizer - Nice Xml visualizer to replace or complement the built-in one; current version might have some problems with large Xml files.

I'm sure there are more visualizers available around the net. If I find more useful ones, I'll add them to this list. Suggestions?

[Update: ScottGu has also summarized some of Debugger Visualizers available to date]

On a side note: debugging is a process of improving your already written code by finding and removing programming errors, which cause program to behave differently from expected. If you want to further improve the quality of your code, you should define the behavior of your program, preferably before you write any code. Test Driven Development is a technique that will help you do that, but that's another post...

My new virtual pal

... I added Encarta® Instant Answers <encarta@conversagent.com> to my MSN contact list today. It's very smart and always willing to talk to you. It can tell you pretty much about anything. Just ask, when Napoleon was born or how big is Mexico. Ask it to do some math ("solve 2x^2+7x=5", "add 1 and 1")... It also has a sense of humor:

Andrej says: how are you?
Encarta® Instant Answers says: I'm doing great. You?
Andrej says: super
Encarta® Instant Answers says: Super, huh? OK, good.
Andrej says: how are you?
Encarta® Instant Answers says: I'm doing well.
Andrej says: how are you?
Encarta® Instant Answers says: I'm doing great. OK, should we get back to the kind of questions I was designed to answer? :) I'm sure you've heard about Uzbekistan... but do you know where it is? Just ask me and I'll show it to you on a map.

... ;)

Now seriously... this automated service agents are great, and because they live inside your IM client, they are always at hand when you need help with something. Until now, I used Google for my "define"s and "calculate"s, but now, Encarta agent is my new best schoolmate.

Imagine this kind of an agent as your 24/7 online product support technician. Users don't want to read through dull help files, they want to interact with a kind, supportive "person". And it shouldn't be difficult to program: add some human relation skills to your search engine, and you'll get a new, invaluable member of your team ;)

I want my MSDN agent! I'd ask it questions like "what is StringBuilder?",  "list XmlReader members", "tell me more about generics", "show me ExecuteNonQuery examples". We'd have so much fun together...

 

 

[Found Encarta agent through Chris Sells]

JetBrains Omea Reader

I've recently replaced my existing RSS feed reader with JetBrains Omea Reader 2.0, which offers everything I need while working with my feeds: categorization, aggregation, comment support, efficient search and custom views (search folders). It's fast, can read newsgroups, and you get a free license! Certainly worth a look.

VS2005 Designer woes (bugspotting)

While VS2005 features a lot of tools and enhancements to boost your productivity, its bugs can sometimes just kill the time you saved using them. This one just took me some time to figure, although in the end, the resolution was universally trivial - restart the IDE.

Here's what happened: I tried to open my user control in the designer, and instead of visualizing the control, designer gave me the following message: "Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.", along with some pretty useless exception stack info. I haven't touched that control for a while so I was sure there's nothing wrong with it, and at runtime, it loaded and rendered without any problems. Cleaning and recompiling project didn't help. I was getting desperate and then tried the ultimate solution: I closed the IDE and reopened the solution. The problem went away.
[Update: there is a hotfix available for this one]

The other (known) bug I ran into the other day is with DataSet visualizer: fill DataTable with some records and delete one row. Open table with DataSet visualizer - deleted row doesn't render properly and accessing that row throws the "Deleted row information cannot be accessed through the row." exception.

The third one is related to the .suo file... I was working on my project while IDE suddenly crashed. No message, no nothing, the IDE just wasn't there anymore. Reopening the project resulted in a crash, before the project load was completed. Restarting computer didn't help. Deleting project's .suo file did... I didn't investigate this further, but I suspect it could be related to the fact, that I had *a lot* of code windows open while working on that project.

Oh, yes... and my toolbox window now looks like this (note the repeating icon):

There are a lot of other bug posts around the net, along with discussions, whether the VS2005 release was premature or not. I know MS VS team is working hard on these issues, but I would be more satisfied if MS started releasing monthly hotfixes, instead of waiting till summer for the first SP. [Update: Officially, Visual Studio 2005 Service Pack 1 will be released in Q3/2006]

.NET 2.0 and complementary technologies

After the launch of VS2005/SQL2005, new products, built for VS2005 RTM, are slowly popping in:

After installing VS2005 on my production box, I'm still stuck using my VM's :)

 

On a side note: the official Slovenian VS2005/SQL2005 launch event is being held on Nov., 30th in Ljubljana.

Free Win/Web controls from Infragistics

Infragistics has made some of their NetAdvantage Windows Forms/ASP.NET controls available for free.

The package, available for download through this special offer, contains the folowing Windows controls: WinTab, WinScrollBar, WinProgressBar, WinPrintDocument and WinToolTip. ASP.NET controls include WebCalendar and DateChooser.

Free controls are taken from NetAdvantage 2005 Vol. 3 and are built for .NET 2.0.

Read more about this offer.