With this out of the way, let us tell you about the incredible news we have for our Visual Studio 2013 users: Simplify now works in Standard Mode!
One of the first features we’ve ever implemented in OzCode (back when it was called BugAid) was the ability to visualize method return values. We wanted to know what value the function returned, but without messing up the code by creating temporary variables or adding things to the Watch window. Simplify allows the user to see the return values of all method calls that were executed during a step-over, along with the value of every calculation or sub-expression. However, until now, Simplify required our profiler-assisted Enhanced Mode to operate. This meant a slight performance hit, no Edit and Continue, and an inability to work side-by-side with IntelliTrace.
Visual Studio 2013 introduced a new feature, allowing you to see function return values in the Autos window. We decided to take advantage of this new API, and we’re happy to report that starting from Visual Studio 2013, our Simplify feature no longer requires the profiler-assisted Enhanced Mode, and works by default in Standard Mode! This means that there are:
- No performance penalty since we no longer need to use the profiling API for this
- Edit and Continue now works hand-in-hand with Simplify (where supported)
- Simplify now works in Windows Store apps too!
- No compatibility issues with IntelliTrace
- Lots of other improvements:
Working with Simplified results
The first improvement, is we are now able to display the
ToString() value of the returned expression. This means that in case of this LINQ statement, instead of the ugly LINQ enumerator type name, you can now see useful data! You can choose to focus on any part of the statement using the up/down arrows (or by pressing the Numeric
Next, we made it possible to interact with the displayed values, by allowing the user to drill-into and explore the results. Hovering over any part of the visualized results can show you a DataTip. You can use all the familiar features, such as Reveal or Search, to narrow down the results and find the value you’re looking for faster:
See it in action:
In addition, we’re can now show you the values of ref/out parameters:
A few caveats: this is only supported for .NET 4 and above. In addition, Simplify doesn’t currently work in Silverlight apps (in Standard Mode) or Windows Phone apps (neither in Standard nor Enhanced mode). Lastly, Simplify in Standard Mode doesn’t currently display return values of structs, this is due to a limitation in Visual Studio. Please vote on this issue and ask Microsoft to fix this limitation!
Show Runtime Value
We’ve added a new way of showing you the runtime values of a property or a field in all instances of an object! To get started, while in break mode, navigate to the property you’re interested in, and using the QuickActions menu, select the Show Values of X in All Instances menu:
This will open the Show All Instances dialog, displaying the selected property value of all instances of the object. In addition, it will show any Revealed properties:
Add Conditional Breakpoint
Now you can also create a conditional breakpoint straight from the debugged value – simply right click on the value inside our DataTip, and select Create Conditional Breakpoint:
This will open the Visual Studio’s Breakpoint Condition dialog with a pre-defined condition, which you can further refine it to suit your needs:
Your Feedback Wanted!
We wish to remind you that OzCode is FREE while in Beta, meaning you can use it without a license key. During this period, we urge you to contact us via UserEcho, Twitter or Facebook to let us know if you have any issues or suggestions!
-The OzCode Team