Unfortunately, sometimes the prepared application does not work as expected. In such a case, it is useful to debug the solution to see how the application is executed. There are various ways of debugging, such as performing step-by-step execution or using breakpoints to stop the execution of a particular line of code. In this recipe, you will learn how to use both unconditional and conditional breakpoints.
To complete this recipe, you need the project with two pages, represented by the MainPage
and ProductsPage
classes. It is necessary to pass a category identifier while navigating from MainPage
to ProductsPage
.
To perform the breakpoints-based debugging, you need to follow the given steps:
Open the
ProductsPage.xaml.cs
file.To place an unconditional breakpoint, click on the gray margin on the left-hand side of the code line or click on the code line and press F9. As an example, you could place a breakpoint in the following line:
categoryName = categoryNames[categoryId];
Run the application in the emulator in the Debug mode by pressing F5 or by navigating to Debug | Start Debugging from the menu.
Navigate to the second page. The execution of the application should be stopped on the line of code with a breakpoint. Such a line is marked in the IDE with the yellow background, as shown as follows:
Place the mouse over
categoryId
to show a popup with the current value of the variable.To stop the execution of the application conditionally, right-click on the image of the breakpoint and choose the Conditions... option from the context menu. Then, specify the condition in the Breakpoint Settings window by providing the expression that must be evaluated to
true
to stop the execution, such as:categoryId > 0
Run the application in the emulator and see that its execution is stopped because the condition associated with the breakpoint is satisfied, as shown in the following screenshot:
The Step-by-step debugging recipe
The Executing code while debugging recipe
The Logging information while debugging recipe
The Creating a unit test and Running a set of tests recipes in Chapter 9, Testing and Submission