Introducing Debugger Canvas
Over the past several months I’ve been working on a new Power Tool for Visual Studio with Andrew Bragdon and Brown University. The purpose of the power tool is to get feedback from users (that means you!) about using a Code Bubbles like experience for debugging through code inside Visual Studio. The Power Tool will be called Debugger Canvas and will be available for download on Microsoft DevLabs early next month. It will require Visual Studio 2010 Ultimate SP1 (or the trial version), and there will be a DevLabs forum for public feedback, discussion, questions and answers, etc. In the mean time you can find out more information on https://research.microsoft.com/debuggercanvas and also watch the demo video below.
Comments
Anonymous
May 21, 2011
Very cool stuff! As for your example of looking for a parameter value's origin - this feature also exists in Resharper, the "Value Origins" feature. I think it would be wonderful if the code bubbles UI were to do a similar dataflow analysis, so that if my caret is over a name of a parameter in one bubble, the origins of that parameter should be highlighted in bold on the bubbles that connect to it. Also, if the caret is currently on a variable or expression that is later passed as a parameter to a method that appears in another bubble, those parameters should be highlighted as well.Anonymous
May 21, 2011
This look like a very interesting tool for delving into unknown code bases. Does it honor the DebuggerStepThroughAttribute and its sibling attributes in System.Diagnostics?Anonymous
May 22, 2011
@Omer: That is great feedback, thanks! @OskarK: Yes, we are tied directly to the Visual Studio debugger so if the debugger skips some code (like it does with DebuggerStepThrough or DebuggerNonUserCode) then we don't show the code for it.Anonymous
May 22, 2011
Why does it only run with the ultimate version, would be nice to run it also with the PremiumAnonymous
May 22, 2011
@Kael Another point I wanted to make was that Value Origins/Destination should also be a tool to navigate from one bubble to another - ie, to answer "what does this value come from?" or "where is this value going to?" I should be able to just hit some shortcut (say Alt+Ctrl+< or >), and then I will move either to next place in the current bubble where that variable is read, or to a new bubble, of the method calls that take this value as a parameter, and my caret will automatically be placed on that variable. I strongly feel that the full advantages of a code-bubbles type experience will only truly come to fruition when these sort of dataflow analysis features are intergrated and easy to use. Good luck!Anonymous
May 22, 2011
Ultimate only? That seems like a perfect way to limit feedback...Anonymous
May 22, 2011
The comment has been removedAnonymous
May 23, 2011
Very interesting tool. Just very sad that it run exclusively on Ultimate.Anonymous
May 23, 2011
i need it now guys! please release asapAnonymous
May 23, 2011
i need it now guys! please release asapAnonymous
May 23, 2011
Agree with Ultimate restriction - I regarded Ultimate as mainly a repository for ALM parts, but now it seems MS want to dump everything in there - maybe the ALM isn't selling very well - probably because most people only want the source control, and its a bit steep for that.Anonymous
May 23, 2011
Why just for Visual Studio 2010 Ultimate SP1? :( That thing costs 10k. Most companies, including mine, can't afford to buy dozens of licenses of Ultimate and buy instead the Professional/Premium. It's just sad to have this limitation and it's a sure way to limit feedback to only really-big companies who can afford the Ultimate. Please make it available for the other versions too.Anonymous
May 23, 2011
"Ultimate only? That seems like a perfect way to limit feedback..." Completely agree. It might be an incredible tool; but if 99% of the community can't use it what's the point in trying it since it can only result in grief when we can't use it for anything else.Anonymous
May 23, 2011
Ultimate only??? well I won't be giving feedback then. Nothing for the Pro version?Anonymous
May 23, 2011
+1 for Why is this only available in Ultimate? Looks really cool.Anonymous
May 23, 2011
The ultimate question is answered on the research site: Why does Debugger Canvas require Visual Studio Ultimate? The Debugger Canvas is built on technologies that only ship with Visual Studio Ultimate, such as IntelliTrace and the code analysis features in the Architecture tools.Anonymous
May 23, 2011
According to the debuggercanvas page, this depends on IntelliTrace. I assume this means it will not be usable in unmanaged code, e.g., C++?Anonymous
May 23, 2011
The comment has been removedAnonymous
May 24, 2011
I would argue that the 'ultimate question' is 'Why does Microsoft think only Ultimate customers should benefit from code analysis technologies?' As a 'Premium' user, I would very much like a less steep drop-off, and the ability to do the kinds of things Eclipse users can do without a $10,000 invesment decision made by someone else.Anonymous
May 24, 2011
I thought intellitrace was in professional version as well. If not, they really need to come out with version of thes not reliant on intelli-trace. Otherwise, like others hsve stated 90% of .Net developers cannot use it.Anonymous
May 24, 2011
Looks great. A shame I'll never get to try it. Cheers to Brown, but raspberries to Microsoft for making this "Ultimate" feature carry an $8,000 price premium.Anonymous
May 24, 2011
Wow.. Ultimate only? I think a large number of developers are using the Professional edition. I've been using Pro ever since VB3.0. I've got VS2010 Pro now. At all of my prior jobs, they had Pro installed for developers. I can understand that it relies on functionality only in Ultimate, but another version should be made for the Professional edition. We'd love to have it!Anonymous
May 24, 2011
Wow... I would love to see some similar tool for GNU GDB for Linux... :(Anonymous
May 24, 2011
The comment has been removedAnonymous
May 24, 2011
Very nice! Adds a great visual to help in understanding the program structure.Anonymous
May 24, 2011
This looks awesome! Great Job!!Anonymous
May 24, 2011
The comment has been removedAnonymous
May 25, 2011
+1000 for Why is this only available in Ultimate?Anonymous
May 25, 2011
No point in even looking - no matter how cool - because I use pro via MSDN and I struggle to find much justification (cost/benefit) for even a single step up in version (allowing that I get office and some other tools via Action Pack). Pity.Anonymous
May 25, 2011
Superb. Thanks for the efforts.Anonymous
May 25, 2011
It would be great if I could attach an XPS of the canvas to the bug when I check in the fix. That would be a nice opportunity for integration with TFS.Anonymous
May 26, 2011
@Jim: Indeed, that's one of the main reasons we added the Debug -> Debugger Canvas -> Save as XPS command. It's pretty cool!Anonymous
June 03, 2011
Super cool!!! Can't wait to use Debugger CanvasAnonymous
June 06, 2011
I do really want this to be applied to C++ development !!!Anonymous
June 09, 2011
I'm a little disappointed that the blog author/developer hasn't responded to any of the statements about Ultimate and because it's going to be mid June soon and there are no more updates. You really didn't aid the developer community in any way by restricting this to Visual Studio Ultimate.Anonymous
June 10, 2011
The comment has been removedAnonymous
June 12, 2011
The comment has been removedAnonymous
June 13, 2011
Boo on only making this available for ultimate!Anonymous
June 13, 2011
OMG : this is something that I've been missing sooo long...Anonymous
June 15, 2011
We definitely want this in Premium and Pro.Anonymous
June 15, 2011
I can almost see this meaning more to first year CS courses than professional dev environments. Really incredible stuff.Anonymous
August 25, 2011
Looks really cool, but... Another down vote for ultimate only. Not all of us have that much money I am disappoint.Anonymous
August 25, 2011
Gosh dang it-- too cool to only be in ultimate versionAnonymous
August 25, 2011
Impressive! Even if I'm not a VS user (Emacs one here) I really liked this idea!, I guess is the 1rst thing I like about VS :DAnonymous
August 25, 2011
wooow .. it is so coolAnonymous
August 25, 2011
That's beautiful. I regularly oh...ultimate? nm.Anonymous
August 26, 2011
Ultimate only excludes me too... /sigh Well, it sounded exciting.