Debugging and Profiling Features in VS 2008

I wanted to do a little tour of some debugging and profiling features that you will see in Visual Studio 2008.

Script debugging improvements - In addition to the mapping of breakpoints from your ASP.Net source into the resulting JScript, we now support much richer visualization of the types within JScript and also support text and plugin visualizers. You can read more details on this here.

Profile diff’ing - This is one of those features the team really wanted to do in V1 of the profiler but couldn’t. However, we know that everyone wants it. Today we have a nice experience around this area so you can get continuous feedback on performance improvements you are trying to make. Again, you can read more details here.

Thread debugging improvements - The multi-core trend is going to continue to advance quickly in the coming years. We haven’t really improved the status quo on debugging multi-threaded apps until VS 2008. It's our first step, and we hope to continue to make the concurrency debugging experience better over successive versions.

Ever played “Hunt the Thread” ? - It's a game we invented by accident by making you put the threads window next to the stack window, and double clicking on each thread to find the one you want. We solved this in VS2008 by putting cool stacktips on the threads window. Now simply hover over the threads window and see a tooltip with the stack. We have also added some auto-categorization of threads. There are no custom categories this time around, but it's something we are thinking about for a future version. Now that you've found your thread you need to be able to remember it is the one you wanted to watch. You can do this by clicking on the new "flag" column to mark this as a thread you care about. You can sort the thread list by “flagged” to make sure your threads are the ones at the top, and you can also filter the threads drop down in the debug location toolbar.

Hotpath - Being able to drill down fast in the calltree view to the major bottlenecks is something that needed almost as much hand-eye coordination as "Hunt the Thread" in previous versions. I'm glad that we have a nice experience for this scenario now. You can read more about this here

The team is already starting to do some early work on new functionality and features that we can deliver after we ship VS 2008. So, stay tuned.

Namaste!