Click here to Skip to main content
13,151,514 members (47,397 online)
Click here to Skip to main content
Add your own
alternative version


8 bookmarked
Posted 26 Dec 2009

Visual Studio 2010 New Features in Debugging – Exciting & Innovative

, 24 Oct 2010
Rate this:
Please Sign up or sign in to vote.
This article talks about Visual Studio 2010’s powerful debugging features applicable from beginner to expert (based on latest VS2010 beta 2).

This article talks about Visual Studio 2010’s powerful debugging features applicable from beginner to expert (based on latest VS2010 beta 2). Debugging is an area where an improvement brings great relief to developers, and increases developer happiness. Visual Studio 2010 seems to highly enhance debugging support, and can change some basic ways we used to debug applications, let us have a look. 

Export/Import Breakpoints

By using Export/Import breakpoints in Visual Studio 2010, you can debug a portion of the application and export the current set of breakpoints and import it back whenever you want to debug the same portion of application, no matter what breakpoints you have currently placed in your code. This feature will enable you to have different set of breakpoints for each scenario or portion of application that you may need to debug. This is one of the features that I highly wished to have.

An example scenario… Consider your web page/Windows Form has basic CRUD(Create/Read/Update/Del) options, you are currently working on “Create” part. When executing if you get unexpected results, you will set up several breakpoints and debug, then you proceed to code “Update” part.

Now, when you need to debug “Update” part, you mostly clear/disable all breakpoints you just set and create new breakpoints. But what if you get some new error in Create part again? You have to clear/disable all break points, and again go to different locations, set breakpoints and debug the Create part.

This example is not complex, but think of all those complex scenarios you may have debugged for hours; switching one scenario to another.


Choose Debug->Windows->Breakpoints and Export/Import breakpoints as indicated above. Breakpoints will be exported as a file in the location you choose and you can select this file when you import.

Stick the DataTips

You know that, while debugging, we can hover our mouse over a variable/object and inspect, edit & explore it and we call this as DataTip. In Visual Studio 2010, we can stick DataTips to our code window and drag & drop to any location and the DataTip will hang there. This gives pretty easy view to monitor the variables that matters for your current debugging.

Pin, Unpin(delete), Add Comment

You can click the pin icon next to a variable’s DataTip and it will stick to your code window for you to drag & place as you like.

You can remove it by clicking the "X" in the DataTip mouse hover menu.

You can add comments/notes for a variable by clicking the double down arrow in the DataTip hover menu.


Unpin from a Single Source and Make It Available in All Source Files

By default, the DataTip will be pinned to the current source file, if you want the variable/object on other source files too (in page1.aspx.cs, page2.aspx.cs, etc.) then you can click the unpin icon in datatip hover menu. You may do this for global objects.

Export/Import DataTips

As I explained in Export/Import Breakpoints, we can export/import DataTips too, in the same way.

More on Datatips…

If you pin(stick) the elements of same array(a[1],a[4]), it is automatically placed as a group.

Update(15-Jan-2010): Just noted that there is no mention about Intellitrace feature (historical debugging) in this post, I didn’t include this previously because of few reasons. 

Intellitrace (Historical Debugging)

Intellitrace is a feature previously known as Historical debugging, which is a major enhancement made to the Visual Studio 2010 debugger. When an exception occurs, usually you start debugging with breakpoints set in suspected areas and check variable/object values for correctness. But if an exception occurs when Intellitrace is enabled, it allows you to just go back in time of your application execution and find out what events has been raised and what were the values of various variables, etc. similar to Call stack like approach. This helps you inspect all the events that finally triggered the exception. This helps in many ways, you don't even need to worry about breakpoints at times. I am planning to write more about Intellitrace in a future article, hopefully.


I am sure these new options of Visual Studio 2010 would have excited you as it excited me. These tools help speed up debugging. I take this opportunity to encourage you to highly utilize these wonderful changes that are going to be available in Visual Studio 2010. You can try these features by downloading and installing the VS2010 beta 2 from here.

Please Note

This article discusses only about Visual Studio 2010’s new features that will get immediately noticed by majority of the developers, and features that will be used by all kinds of developers using Visual Studio, hence I ignored some options related to specific category of developers or options that are advanced, or minor differences that might Not get noticed as “new features”, things I didn’t cover includes – parallel computing, new menu/context-menu options, etc. The article keeps beginners and Non-native English readers too in mind.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Ashoka RKT
Technical Lead
India India
I am Ashoka (R.K.T.Ashoka), I am a software professional who is passionate about designing and developing software applications. I blog at, I will be writing about .Net & programming.

You may also be interested in...


Comments and Discussions

-- There are no messages in this forum --
Permalink | Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.170924.2 | Last Updated 24 Oct 2010
Article Copyright 2009 by Ashoka RKT
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid