Debugger Canvas Frequently Asked QuestionsWhat do the bubbles on the canvas represent? It depends. By default, each method on the canvas only shows up once, so it represents only the code definition, not a particular invocation or stack frame. That means that you may visit the same bubble multiple times during the same debug session. In version 1.1 of Debugger Canvas you can turn off this reuse under Debug -> Debugger Canvas -> Options and Settings, which will make the canvas add a bubble for each separate invocation of a method. This is particularly useful for recursive calls and parallel execution. What do the links represent? The links with arrows represent method calls. (Since we only create an arrow on the first occurrence of a method call, the arrow technically represents one or more calls.) Arrows highlighted in yellow are active on the current call stack. If the arrow has a dashed line, it represents an indirect call, for example, through events. Gray lines with no arrows are links between definitions and references. For example, when you do Go To Definition on a method, we draw a gray line between the caller and callee. If this method gets called during a debugging session, we change the line to an arrow. Will this ship in future versions of Visual Studio? That really depends on your feedback! Our goal with this release is to learn if this is a useful concept to you. We'd love to hear your comments on both usefulness and usability. Please visit the forum and give your opinions! Will you make upgrades to the power tool? We're planning to maintain the tool by fixing bugs. Your feedback will help determine how far we go in adding new features to the tool. 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. What is the relationship between Debugger Canvas and Code Bubbles™ from Brown University? Code Bubbles™ is an exciting research prototype developed at Brown University which explores ideas around showing code in bubbles rather than file tabs. We've been very happy to collaborate with Brown to put some of the ideas explored in Code Bubbles™ into Visual Studio. Why support only the debugger? While the canvas concept could be useful in many contexts, we started with debugging since this task often involves looking at methods from many files at the same time. So with a small team and limited budget, we decided to focus this release on the debugging scenarios. However, with the right options turned on, you can also navigate in your code and edit your code from Debugger Canvas. (See next question for details.) I can't edit code in the bubble. What's wrong? Code navigation and editing are switched off by default when Debugger Canvas is installed. To switch on these features, use the menu item Debug / Debugger Canvas / Options... and check the second and third checkboxes:
Also, certain types of Visual Studio projects do not allow edits to be made while the debugger is running. If you've switched on the options and you still cannot type into a code bubble, try stopping the debugger. |