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 http://research.microsoft.com/debuggercanvas and also watch the demo video below.
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.
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?
@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.
Why does it only run with the ultimate version, would be nice to run it also with the Premium
@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.
Ultimate only? That seems like a perfect way to limit feedback...
This tool looks quite wonderful, I have to say! What bums is that it will only be available for Ultimate edition, so all websitespark subscribers will be left out, and many others as well. :(
Very interesting tool. Just very sad that it run exclusively on Ultimate.
i need it now guys! please release asap
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.
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.
"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.
well I won't be giving feedback then. Nothing for the Pro version?
+1 for Why is this only available in Ultimate? Looks really cool.