Click here to Skip to main content
15,893,337 members
Articles / Programming Languages / C#

VSEDebug - VS.NET Debugging Enhancement

Rate me:
Please Sign up or sign in to vote.
4.92/5 (37 votes)
25 Apr 20049 min read 169.8K   2.2K   58  
VSEDebug is a VS.NET debugger add-in that adds the ability to debug complex types in simpler form.
VSEDebug Release Version 1a - Readme

Introduction - 

VSEDebug is a debugger Add-In for Visual Studio.NET 2002 and 2003.  It enables custom type support for the debugger and contains scripts written for all (except std::bitset) STL containers and standard C++ arrays.  It will work on other Visual Studio.NET supported languages but because there are no scripts written for any of the types from those languages, it won't be any different than the standard debugger windows.

Installing the Add-In -

Run the msi in the zip file

Starting and using the Add-In - 

Start Visual Studio.NET, and on the tools menu at the top, there should be a menu item named vsedebug.  Clicking it loads the Add-In.  You may also tell it to load the Add-In at startup, or load the Add-In, by editing its entry in the Add-In's dialog box on the Tools menu.

The Add-In is only active during debugging.  When debugging starts, 4 menu items should appear on the Debug Toolbar (you must have this toolbar active).  The buttons should have the letters L, A, W and T.  L opens the Locals window, A the Autos, W the Watches, and T the this window.

In manual update mode, to update a window, click on it and hit f2.  In delay or no-delay mode this will be done automatically.

You can set the Add-In's settings by clicking the Tools...VSEDebug settings menu item.  The items per division entry tells the Add-In how many items go below each division node.  The number of lines above and below options allow you to set how many lines' relevant variables are displayed in the auto's window.  Note this means *lines* note statements.  Comments and blank lines unfortunately count too.  The standard Visual Studio Windows work with 1 statement above and the current statement.  The update mode is a little more interesting.  No Delay updates after every break.  This may slow down your debugging a bit, given that it is not possible for my Add=In to be as fast as the normal Visual Studio.NET debugger.  Manual Update is the reccomended setting.  This is the "use when you need it".  Delay mode is like the normal debugger windows, except there is a timer that is started or restarted every time you hit f5 or f10.  When this timer runs out, the windows update.  This is the smoothest and closest to normal debugging, but the most fickle at the moment.  With certain patterns of break and go, you may experience unpredictable behavior.  Use at your own disgression, I am working on it.  This is why manual mode is recommended.

IMPORTANT!!!!!!!!!!!

Now, I didn't write all the source code to this Add-In, and so I need to give credit where credit is due.  The treelistview control is a modified version the the TreeListView control created by Jon Rista.  The article is here: http://www.codeproject.com/cs/miscctrl/extendedlistviews.asp.  Script wrapper project is a slightly modified version of the one from the "Script happens" article written by Andrew Clinik from Microsoft http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnclinic/html/scripting06112001.asp.  The VSUserControlHost is written by Microsoft.  Thanks for the great code.  And the other 4000 or so lines are mine, yay!

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
United States United States
I'm a student at the University of Florida studying computer engineering.

You may find additional information about vsedebug at http://vsedebug.sourceforge.net

Comments and Discussions