S. Somasegar is the corporate vice president of the Developer Division at Microsoft. Learn more about Somasegar.
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!
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.
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
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.
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.
So the main requirement for using this "Power tool" is to first locate a torrent of VS Ultimate...
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
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.
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.
This looks really interesting
However, I'd say the vast majority of shops are "Premium shops" so that should be the target, not Ultimate.
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.
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
I too would like to care about this, but VS 'Premium' , despite it's name, doesn't have the pre-requisites.
"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?
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!
Great, though, even as an MS Gold Certified Partner I can't use it. We're on Premium. So I wont use it.