It’s official – the next version of OzCode, the coveted v3.0, will be shipped simultaneously with Visual Studio 2017 on March 7th, 2017.
Our new version contains a lot of goodies that reinforces the Visual Studio debugging experience! Check out these amazing new features that give you phenomenal debugging power.
So, what have we got?
LINQ is awesome. Debugging it? Not so much.
We’ve worked with UX experts and our customers to create new tools and capabilities that provide a streamlined, no-pain LINQ debugging experience. Finally, you can tell what a LINQ query actually does, instead of doing a bunch of guesswork. Starting with numeric indicators – which show how many items passed through a specific operator – you can now dive into each step of the query, examine every lambda expression, and gain insights with the amazing new LINQ Analysis window.
The LINQ debugging features include a wide assortment of features:
During debugging, when the execution point (the yellow line) reaches a LINQ query, an indicator appears next to each LINQ operator, denoting how many items it produced.
These indicators show you at-a-glance how many items were consumed by each operator, and how many were produced, helping you decide which operator to focus on.
Clicking on one of the numeric indicators puts OzCode into LINQ Debugging Mode, and opens the LINQ DataTip window which shows the items the given operator produced. You can press the “before/after” buttons in the DataTip to quickly switch between the items that were produced and the ones consumed by that operator. Clicking on one of the items will update the Head-Up Display to reflect what each lambda returned as that particular item passed through the LINQ pipeline.This can also help us understand exceptions inside of LINQ queries:
Another option is to use the mouse wheel while hovering over the numeric annotation to quickly scroll through the items, seeing their values change instantly in the debugged code:
Finally, the LINQ Analysis Tool Window gives us the ability to see the “before and after” of each operator separately, tracing back the flow of the query:
If you want to learn more about LINQ debugging – check out OzCode’s feature page for details and demos.
C# 7 Support
We’ve been working hard to make sure OzCode works with the latest Visual Studio 2017 (currently RC3). We cover all the glorious new C# 7 syntax: Tuples, Pattern Matching and Local Functions are just a few of the new language features supported. OzCode v3.0 also makes a great tool for learning nifty tricks, such as pattern matching.
One of the exciting features of C# 7 is the ability to return more than one value from a method using Tuple Deconstruction – now with OzCode debugging support:
Ever reproduced a problem – but needed to save the state of the system for later use? Imagine you could easily reproduce a bug in a Unit Test, without having to sweat it.
So we added a new capability: to save instances during a debugging session. Each instance is saved as C# code, XML or Json, using the industry standard Json.NET serializer.
You decide what to do with it – create a unit test or throwaway console app to reproduce the issue, or even add an object in serialized form to a bug report.
Either way, you’ve trapped that bug in a room with no doors and no windows.
Finding a bug is often a game of spot the difference – why does it work in this case and crash horribly in the other? Why was this object fine a moment ago, now all its values are corrupt?
In OzCode v2.0, we introduced Compare, which lets you take two objects and immediately see the difference. In v3.0 Compare gets a huge UX makeover.
Now you can compare multiple instances, or connect an object to a snapshot. It’s easy to review different items of the same collection. In case you need to spot the difference between two string values, OzCode lets you compare them using your diff tool of choice.
So what are you waiting for – grab the latest bits today!