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!


Comments (49)

  1. DrPizza says:

    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.

  2. 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,


  3. David says:

    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.

  4. Great looking tool says:

    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.

  5. Just a developer says:

    So the main requirement for using this "Power tool" is to first locate a torrent of VS Ultimate…

  6. Andy S says:

    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.


  7. ImmutableCoder says:

    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.

  8. 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.

  9. TheCodeJunkie says:

    This looks really interesting

    However, I'd say the vast majority of shops are "Premium shops" so that should be the target, not Ultimate.

  10. Mark Gordon says:

    What an epic idea, kill rad, reintroduce 1970's programming and design the class browser so it is useless this way developers have to write millions of lines of code for even a simple application then stick it to developers to pay 12,000 dollars for the ultimate upgrade to get what looks on canvas to be a novel idea. If it works or not is another story given very few Microsoft products work prior to service pack 2 being released. On second thought I can't think of a development product you released lately with a shelf life long enough to make it to service pack 2, MVC is on what CTP 10,000 or something.

    Anyway keep up the good work, it is ultimate.

  11. Steven says:

    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

  12. ross says:

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

  13. grumpy says:

    "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?

  14. David says:

    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!

  15. James says:

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

  16. Bryan says:

    This just in: we invented a great technology called the "seatbelt". It will only be available in Ferraris.

  17. Bobby D says:

    Here's another vote to get this into at least VS Premium!

  18. Sean says:

    Does this only work with Visual Studio Ultimate?

  19. Aaron says:

    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 …

  20. Daniel says:

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

  21. Echarbeneau says:

    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.

  22. Einar Guðsteinsson says:

    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.

  23. John Schroedl says:

    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.


  24. Yann Schwartz says:

    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.

  25. Ali Khalid. says:

    Nice work, is this going to be available for VS 2010 Professional or only for ultimate. Cant wait to try it out when it comes to the professional edition.

  26. CarlD says:

    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.

  27. Rene says:

    Please for Prof version and i will try it.

  28. Digiguru says:

    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

  29. Jerry says:

    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.

  30. Shawn b. says:

    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!

  31. Another John says:

    Keep the tools cheap and we will write a lot of windows specific software.  We are doing our job…

  32. struhtanov says:

    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

  33. Kevin says:

    Another voice in support of bringing this to lower editions than just Ultimate. We (as an SME for whom development is only part of our focus) use Pro, and it does pretty much what we need. We have been umm-ing and ahh-ing about switching to Premium for a while, but have no plans (and no budget) to switch to Ultimate.

    It'd be nice to be able to use new features, and Canvas looks like a great productivity enhancing tool – but not one which is going to justify many thousands of pounds in extra spend to get our hands on it.

    Alternatively, how about selling VS without MSDN subscriptions? I want profiling and code metrics. I'd like a bit of an easier life with database development/change management.

    I don't want, or need, a subscription to MSDN. I don't need, or want, a subscription to access every bit of software Microsoft makes, or I'd have bought it already. I am not overly bothered at this point about automatic entitlement to future versions of VS – my concern is in making my life easier when it comes to using *this* version, and the price difference is such that it'll be cheaper for me to just buy VS20xx Pro (non-subscription) again when it's released than to pay for single year's subscription. I'm not bothered about online training or support incidents – I will pay for those if and when I need them, and it's *still* cheaper than buying subscriptions.

    I'm forced into Pro because I don't want to pay for MSDN, and that's just daft. You're missing out on revenue and I'm missing out on features.

  34. VS Jonesy says:

    From the linked video, it looks really handy. I am also a Pro user, so can't try it though 🙁

  35. Pierre Bourgault says:

    I want to add my voice to have this available in Premium and Pro !!

  36. It works well with small projects. But its unbearably slow on a large project. I had to turn it off as my default debugger.

  37. 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.

  38. BR says:

    Looks good, have this available in Pro as well please!

  39. Greg says:

    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.

  40. I had some great conversations about Debugger Canvas and CoffeeTable (a project myself and a colleague, John Hardy, have created) at the ICSE'11 conference. We were all excited about the idea and the underlying philosophies that support it, so it is unfortunate to hear that (at the moment) it is tied to VS Ultimate. Personally, I feel that this is a needed step towards a more natural technique for debugging, and has potential in educational scenarios.

    After reading a response about this very subject, found here:…/4f811a2c-62cd-45a8-a112-11e7b926ce71

    …I came straight here to tell you that here is another person who thinks it would be great to eventually get it "built directly 'in the box' as part of Visual Studio" 🙂

  41. Niclas Lindgren says:

    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.

  42. gyanendu........ says:

    hope it will help me to understand the program execution ….

  43. I don't have any grievance about the Ultimate edition pricing (students get it for free)…so I tried out the Debugger Canvas and my biggest complaint about it is that it's soooooo slow. When I hit F10 to step over a line, it takes much longer to do anything…at first I thought it wasn't doing anything so I would hit F10 more than once and then I ended up skipping over more than I wanted. So I hope you can do some performance optimizations. Other than that…it was pretty cool. Nice job.

  44. Octavian Regatun says:

    ce mai e si asta

  45. Arjun says:

    Great work…

  46. 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.

  47. Serkan says:

    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.

  48. 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?



  49. Mike says:

    Nice. I love it. I'm one of the 15 people.