Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
47 lines (28 sloc) 2.68 KB

#Reveal Focus on data that actually matters

##Overview Objects can have many properties, but when debugging, not all of them are useful to you. You’re usually interested only in a select few. For a Customer class, it might be the ID and FirstName properties. For a Point in 3D space, it might be the X, Y, and Z fields. With OzCode's Reveal feature, you can finally focus on the data that actually matters. ##Using Reveal In order to run this demo press the Reveal button in the demo application.
Reveal button

Notice that a breakpoint has been triggered. It seems that although we're in a method that should only be used to send packages outside of the country (US), somehow we got a package that should have been shipped using a local shipping method:

Debug break
Because nobody bothered to implement ToString on the Customer class, initially, the HUD will use the default ToString implementation, which just shows the type name, and is not very useful. Further, traversing the Customer class in the DataTip can be a pain, because it contains so many fields.

Hover your mouse over customer for the DataTip window appears. Then expand the cutomer fields using the '+'.


Lastly find "FirstName" and click on the "star" next to it:


Notice how the DataTip window and the HUD updated accordingly:


Add similarly use the star to add the "SurName" property as well.

Now use the Call Stack Window to go back to the caller of the method, and use the DataTip again to see how many customers are from Paris (including Jose Duke). Since they're all instances of Customer, the FirstName which we've previously stared is shown automatically.

Customers from Paris

Let's add some more information on each customer: From the DataTip window - expand one of the customers, then expand the Address property and star the Country, State and City properties. Lastly toggle the Star next to Address as well - in order to show Address information as part of Customer (making it much easier to see the nested information!).

Add address info

Collapse the current customer and look at the customer list: Now we can see all of the selected customers and their addresses.

Finding the bug and the affected customers should be simple.

Customers with addresses

Back to Main