Debugger Canvas on DevLabs

Today, we’re releasing Debugger Canvas on DevLabs.

Debugger Canvas is a new user experience for stepping through code in the debugger in Visual Studio Ultimate. It displays the code of each of the methods you step into on a canvas with call lines between them, helping you keep track of the bigger picture as well as the details.

Debugger Canvas pulls together all the code along a call path into a single display for browsing and even editing. Instead of having to keep all the code in your head while you look at one file tab at a time, now you can see the entire path on the canvas, enabling you to more easily track the flow of control and data through your application. Below, you can see an example where we have stepped into the execution of the Add Item function of a website shopping cart. The functionality requires the coordination of several methods, and the canvas lets you see them side by side so that you can more easily find and fix bugs.

Of course, the idea of showing related code together on a canvas can be useful in many scenarios. For this release, we started with debugging, since this task often involves looking at methods from many files at the same time. However, with the right options turned on, you can also navigate and edit your code from Debugger Canvas.

Debugger Canvas also highlights the potential of several of the technologies we introduced in Visual Studio 2010 Pro and Ultimate. It takes advantage of the flexibility of the new code editor to show fragments of files as bubbles on the canvas with a fully functioning editor in each. We built Debugger Canvas on top of Visual Studio Ultimate so that we could also use the underlying technology for the Dependency Diagrams to identify and display the right fragments on the canvas. This let us support both C# and VB in this release and will help us support other languages in the future. Building on VS Ultimate also allowed us to provide a new user experience for IntelliTrace, enabling some interesting scenarios, such as “show me what code ran when I clicked here”.

Debugger Canvas is the result of collaboration with Brown University and Microsoft Research, incorporating innovative ideas from Brown’s Code Bubbles and Microsoft Research’s Code Canvas. Cutting edge research is being done at Brown and at other universities around the world to help improve development team productivity and software quality. Through Microsoft Research, we collaborate with academic efforts like this one to bring innovative ideas to Visual Studio.

Take Debugger Canvas for a Spin

Our goal with DevLabs projects to get early feedback and insight and to help drive these ideas in the right direction. Try out Debugger Canvas, then bring your bugs, questions and ideas to the forum. We look forward to hearing from you!

Namaste!

Comments

  • Anonymous
    June 13, 2011
    Nice work. Make it require Ultimate, so all of 15 people can use it. DevDiv: $1bn/year revenue. MSDN Ultimate annual cost: $12,000 MSDN Ultimate renewal cost: $3,800 Even if all DevDiv revenue comes from Ultimate sales you're looking at a total userbase of between 83,000 and 260,000 users. Total.  Across the entire world, and the whole Visual Studio developer community. We know that not every developer gets Ultimate. At organizations of all sizes, I've not so far seen anyone go above the next tier down (Premium). Often they stick at Pro. So seriously. How many customers will get to actually use this stuff, and was it really worth it? You've got to put an end to this segmentation. I know you love that billion dollars of revenue, but you're making it prohibitively expensive for developers to write good, solid, performant, robust Windows (SQL Server, Office, SharePoint, etc..) applications. And that can't be good.

  • Anonymous
    June 13, 2011
    Hi Dr Pizza, Thank you for voicing your concerns. I also saw your tweet. Like Soma mentions, Debugger Canvas is built on top of Visual Studio Ultimate so that we could re-use the underlying technology for the Dependency Diagrams to identify and display the right fragments on the canvas. I'm happy to hear that you'd like to see this more widely available. Your feedback and others' will help us make decisions about that in the future. Best regards, Jens

  • Anonymous
    June 13, 2011
    As an employee at a shop that uses Premium almost exclusively, I too would request that features like this end up in the lower-priced SKU's. Outfitting all of our devs with Ultimate is simply not an option.

  • Anonymous
    June 13, 2011
    I would love to be able to use it! Please make it available for Pro. This looks like a tool that could not only help the seasoned teammeber, but a tool that could help describe a process more accurately to a project newcomer.

  • Anonymous
    June 13, 2011
    So the main requirement for using this "Power tool" is to first locate a torrent of VS Ultimate...

  • Anonymous
    June 13, 2011
    Would love to see this in Premium or Pro instead of Ultimate... Please make that a priority for Visual Studio vNext! I understand it needs features that are available in Ultimate only, but personally I think the Express/Pro/Premium/Ultimate is WAY over the top. How about just Express and Pro? Keep it simple. Please. -Andy

  • Anonymous
    June 13, 2011
    Love the new canvas, and can't wait to try it out. Too bad we just renewed most of our MSDN licenses at Premium edition. Please consider making some or all of the canvas available in other Visual Studio editions.

  • Anonymous
    June 13, 2011
    For weeks I've been reading Tweets from developers that I respect about the Debugger Canvas. Today I was disappointed to see that my annual subscription for a Visual Studio Premium with MSDN won't entitle me to use the Debugger canvas because it requires Ultimate. Why have so many versions of Visual Studio? I would sure like to check out Intelitrace available in Ultimate and apparently necessary for the canvas debugger. I remember when I first began learning about .net and vs Intelitrace might have been a real educational tool.

  • Anonymous
    June 13, 2011
    This looks really interesting However, I'd say the vast majority of shops are "Premium shops" so that should be the target, not Ultimate.

  • Anonymous
    June 13, 2011
    The comment has been removed

  • Anonymous
    June 13, 2011
    Despite the presence of the run-time class context, this approach makes exactly the same mistake as did the VB editor many many years ago: to narrow the given textual information to the invoked (edited) method(s). Kind regards, Steven

  • Anonymous
    June 13, 2011
    I too would like to care about this, but VS 'Premium' , despite it's name, doesn't have the pre-requisites.

  • Anonymous
    June 13, 2011
    "Like Soma mentions, Debugger Canvas is built on top of Visual Studio Ultimate" And your customers are expected to care about that why, exactly? If your product segmentation prevents you from rolling useful features out to your customers, then your product segmentation is the problem. It doesn't excuse the resulting crippling of your own products. As far as we, the users, are concerned, what matters is that you've spent development resources producing something we get no benefit from. The internal MS politics, and exactly how you managed to make it fundamentally impossible to add this feature to the versions of your product that typical developers actually use? Please keep that to yourselves. It doesn't matter to us. As DrPizza mentions, I don't understand the point in treating DevDiv this way. Don't you want as many people as possible to develop for your ecosystem, whether it is Windows, Windows Phone, SQL Server, Azure or IE? How exactly does DevDiv further that goal, with this money-grabbing strategy of offering the useful features to all of 15 people worldwide, while everyone else gets all the clutter and bloat if of the underlying IDE, without the redeeming features? What am I missing? Doesn't Microsoft stand to win by enabling developers to write more and better software to work with your products?

  • Anonymous
    June 13, 2011
    I just can't see how I could persuade my boss to pay for the Ultimate MSDN sub.  Please try and get this into the much more common Premium version, think of the good you'll be doing in the world by improving the lives of so many more developers!

  • Anonymous
    June 13, 2011
    Great, though, even as an MS Gold Certified Partner I can't use it. We're on Premium. So I wont use it.

  • Anonymous
    June 13, 2011
    This just in: we invented a great technology called the "seatbelt". It will only be available in Ferraris.

  • Anonymous
    June 13, 2011
    Here's another vote to get this into at least VS Premium!

  • Anonymous
    June 13, 2011
    Does this only work with Visual Studio Ultimate?

  • Anonymous
    June 13, 2011
    It's absolutely mind-blowing how much work Microsoft puts into creating awesome utilities for a version of VS that very few can afford to use.  What an utter waste.  It's like grilling up meats for the masses, only the masses stand behind the fence, staring and salivating ...

  • Anonymous
    June 13, 2011
    One more vote for 'Premium'  Our shop simply can't justify the cost for Ultimate as many others have stated.  Looks very promising!

  • Anonymous
    June 13, 2011
    Great looking tool, however I couldn't try it because of the "Ultimate Edition Only" requirement. I was disappointed to say the least. Ultimate Edition just isn't cost effective for me to use, and this would be an excellent addition to VS2010 Pro.

  • Anonymous
    June 13, 2011
    I did not see this Ultimate restriction and just installed the tool. Works fine even tough I only have pro. But it sould be supported there also.

  • Anonymous
    June 13, 2011
    This looks pretty cool. I'm one of the two lucky people in my division with Ultimate but I still cannot try this b/c I develop in C++ and C++/CLI. John

  • Anonymous
    June 14, 2011
    A potentially mind-blowing extension only available to a mind-blowingly expensive edition of Visual Studio (just like Intellitrace debugging which is Ultimate-only). Please, keep the astronaut architects features (UML et al.) in Ultimate and trickle down actual useful features to the cheaper SKU's. Until then, there's not much point in advertising features that only a tiny fraction of your readership can afford. I did pay for my VS Premium edition, but I'm wondering what's so premium about it after all.

  • Anonymous
    June 14, 2011
    The comment has been removed

  • Anonymous
    June 14, 2011
    Looks interesting.  I agree with many of the posters here that this should be a Premium (or lower) feature if it ever becomes a full-fledged VS feature.  As a preview I don't mind it being Ultimate only if that enabled the team to get it into the hands of customers sooner. That said, I doubt this is something I'd ever use.  I do intend to give it a try though.

  • Anonymous
    June 14, 2011
    Please for Prof version and i will try it.

  • Anonymous
    June 14, 2011
    Amazing work. I will try to persuade my bosses to upgrade all the devs to VS Ultimate if you promise to release a version for normal VS professional

  • Anonymous
    June 14, 2011
    Very cool!  I've been waiting for this ever since I saw it in Eclipse (code bubbles?)  I have the same problem as everyone else we only get Premium. :(  Please make an effort to make at least some of it available in vNext.

  • Anonymous
    June 14, 2011
    I have a feature suggestion.  It would be nice to have a 'pan' feature.  Currently on a standard square monitor, if the function is long and wide, there's no easy way for me to pan (at least add scrollbars, I couldn't find any in current impementation).  Also, it would be nice if we could control the size of each individual bubble. I'm using this stepping through a production code scenario (our code base is huge) and after a few bubbles it becomes too difficult to use the feature in current implementation for the above reasons.  Otherwise, this is a fanstic feature!

  • Anonymous
    June 14, 2011
    Keep the tools cheap and we will write a lot of windows specific software.  We are doing our job...

  • Anonymous
    June 14, 2011
    This will probably be a nice feature. But for now there are some annoying bugs. 1.) Code search screen always jumping somewhere. 2.) New window with code is always a bit smaller then the size of the method. 3.) I want to change the size of the window to see all the code, not the only one method. The third one is really important for using

  • Anonymous
    June 14, 2011
    The comment has been removed

  • Anonymous
    June 14, 2011
    From the linked video, it looks really handy. I am also a Pro user, so can't try it though :(

  • Anonymous
    June 15, 2011
    I want to add my voice to have this available in Premium and Pro !!

  • Anonymous
    June 15, 2011
    It works well with small projects. But its unbearably slow on a large project. I had to turn it off as my default debugger.

  • Anonymous
    June 15, 2011
    I also agree that the concept is great as an option, but that it should be made available in Pro.  This strikes me as a productivity enhancing presentation model that should benefit anybody touting the Microsoft platform.

  • Anonymous
    June 15, 2011
    Looks good, have this available in Pro as well please!

  • Anonymous
    June 15, 2011
    Does it work with silverlight?  I can't get the debugger canvas to display the code.  I could get it to work for C# windows app though.

  • Anonymous
    June 15, 2011
    The comment has been removed

  • Anonymous
    June 15, 2011
    Would love to see this in pro or premium. Ultimate is off limits for too many companies today, it doesn't add value that justifies the cost I am afraid.

  • Anonymous
    June 21, 2011
    The comment has been removed

  • Anonymous
    June 24, 2011
    The comment has been removed

  • Anonymous
    July 04, 2011
    ce mai e si asta

  • Anonymous
    July 27, 2011
    Great work...

  • Anonymous
    August 08, 2011
    Please either port it to VS2008 or start supporting your embedded platforms on VS2010.  Looks nice.  Love to try it.  But can't.  Thank you Microsoft. -- signed, your *** step-children, the embedded developers.

  • Anonymous
    August 13, 2011
    Hey guyz, nice piece of software. There are some points though;

  • I have a powerful pc with raid disks, ram, etc. still it's kinda slow.
  • I know you can't have everything but I think it's nice to play with but not for rapid development. I tried it for a day long and couldn't get attached to it.
  • Anonymous
    August 15, 2011
    Hi Serkan, Thanks for your comments! Based on yours and others' feedback we're working on improving the performance. I'd like to understand your concerns around using the canvas for rapid development. Is that related to performance, too, or other issues? Thanks, --Jens

  • Anonymous
    October 03, 2011
    Nice. I love it. I'm one of the 15 people.