Variables Window

 Summary

When debugging an MPLAB® X project you may find it useful to view the variables and PIC Special Function Registers ( SFRs). Global Variables and SFRs have permanent and fixed memory devices. All programs can access these data elements at any time. Local variables, those defined within a function, have no fixed addresses. Local veriables exist on the software stack only during the period of time the function is being executed. While transient, the value of local variables may be essential in debugging an application. This page shows how to access local variables. At the end of this page is a link to a tutorial demonstrating how to access local variables

What is the Variables Window

TheVariables Window is the MPLAB X utilty which allows the user to observe and modify Local Variables ( variables who have no permanent address and who exist on the stack). This window is the part of the standard MPLABX debug tools and can be used anytime during an active debug session. The variables window operates with all MPLABX support debug tools ( software simulator, ICD3, RealICE, and PICKit3) Many 3rd party debug tools and simulators also allow the Variables window to operate

In order to operate theVariables Window MPLAB X must be in operating with an active debugMain_Debug_Project.png session.

1 How to Open the Variables Window

To open theVariables window:

  1. Make sure you are in a debug session
  2. Select Windows->-Debugging->Variables or ( atl + shft + 1)
opening.png



The variables window will open up in the output window section ( usually the lower right-hand side)

Opened.png



On the Left hand side of the Variables Windows you will find three display control icons. These icons, along with the current location of the program counter control which data is displayed in the Variables Window

3Icons.png

2 Accessing ALL the local variables

The top most icon in the group of three controls the range of local variables displayed. Clicking on this icon will toggle the window from displaying all the local variables in a particular function or specifying a range of variable. When the Icon display a set of curly braces " { } " all the local variables within the scope of the current function will display. The image below shows this icon set to displayALL the local variables in the function.

All_local.png

The debug session must be paused within a function in order to see the local variables with just theVariables Window Please note the green bar is paused within the function foo() in the image above

Accessing Selected local variables

Occasionally you will find too many variable within the current frame to easily view. The variables window allows you to view the variables"near" the current Program Counter location. By near it is meant you can view any locate variable modify in the line pointed to by the Program Counterand the line immediately before the current program counter. This will allow you to set breakpoints and see just the local variables values as they are accessed by the program.

To set the Variables window to display only variablesnear the program counter push the top most control Icon until it displays a left-to-right green arrow. Below is an example how to display only the local variables near the program counter.

Near_locals.png

Adding Watches to the Variables Window

In addition to local variables access to Global Variables and PIC Special Function Registers (SFRs) are commonly needed during a debug session. The Variables Window has the capability of dislaying Watches ( i.e. Global Variable and SFRs) in addition to local variables. Accessing Watches in the Variable Windows is accomplished using the two lower control Icons. The Center Icon allow whether or not to allow Watches in the Variables Window. When Watches are enabled the lowest control Icon comes into focus and allow the user to enter a new watch into the Variables Window.

the Image below shows a screen shot of an SFR being displayed in the Variables Window

WatchesandLocals.png
When displayed Locals variables will be displayed next to a green side-ways sqaure:Window_Debugging_Variables.png while Watches will be displayed using a Diamond IconWindow_Debugging_Watches.png

Video Example of Using the Variables Window