This panel is used to display the contents of the registered watch-expressions and change their values (see "2.10.6 Display/change watch-expressions").
Up to a maximum of four of these panels can be opened. Each panel is identified by the names "Watch1", "Watch2", "Watch3", and "Watch4" on the titlebar, and the watch-expressions can be registered/deleted/moved individually.
Watch-expressions can be registered in this panel as well as in the Editor panel, Disassemble panel, Memory panel, CPU Register panel, Local Variables panel or IOR panel.
When the panel is closed with registered watch-expressions, the panel closes but the information on the registered watch-expressions is retained. Therefore, if the same panel is opened again, it is opened with the watch-expressions registered.
The display contents are automatically updated when the value of the watch-expression changes after a program is executed (when the execution is done in steps, the display is updated after each step).
In addition, by enabling the Real-time display update function, it is also possible to update the display contents in real-time even while a program is being executed.
This panel appears only when connected to the debug tool.
When the selected microcontroller supports multi-core, this panel displays/changes the value regarding a core (PE) by switching selection between the target cores (see "2.7 Select a Core (PE)"). |
This panel can be zoomed in and out by in the tool bar, or by moving the mouse wheel forward or backward while holding down the [Ctrl] key. |
When the separator line of each area in this panel is double-clicked, the width of the area changes to the shortest possible size that can display the contents of the area. |
This section describes the following.
All the registered watch-expressions are displayed in a list.
Clicking the title of the list in this area sorts the watch-expressions in the list in alphabetical order. Categories (folders) can be created to categorize the watch-expressions and display them in the tree view (see "(a) Tree editing").
The meanings of the icons are as follows:
Indicates that the watch-expression belonging to this category is displayed. When you double-click on the icon, or click on the "-" mark, the category is closed and the watch-expression is hidden. |
||
Indicates that the watch-expression belonging to this category is hidden. When you double-click on the icon, or click on the "+" mark, the category is opened and the watch-expression is displayed. |
||
Indicates that the watch-expression is a variable. At the top of the watch-expression represents arrays, pointer type variables, and structures/unions, "+"/"-" mark is displayed. Click the mark to Expand/shrink display. |
||
Indicates that the watch-expression is CPU register. At the top of the watch-expression that has the lower level register (part of the register), "+"/"-" mark is displayed. Click the mark to Expand/shrink display. |
This area is provided with the following functions.
Watch-expressions can be categorized (by folders) and displayed in the tree view.
To create a category, click the button on the toolbar or select [Create Category] from the context menu after moving the caret to the position to create a category, and then input a desired name from the keyboard.
To delete a category, select the category then click the button on the toolbar or select [Delete] from the context menu.
To rename the created category, select the category then do either one of the following.
By directly dragging and dropping the registered watch-expression in the created category, each category is displayed in the categorized tree view. Also, the display order of the categories and the watch-expressions (upper or lower position) can be changed easily by drag and drop operation.
Up to 1500 categories can be created in one watch panel (if this restriction is violated, a message appears). |
Drag and drop the watch-expressions/categories in other watch panel (Watch1 to Watch4) to copy them. |
At the top of the watch-expression represents arrays, pointer type variables, structures/unions, and registers (with the name of the part), "+"/"-" mark is displayed. Click the mark to expand the contents ("+" mark is changed to "-" after the expansion).
There are following three methods of registering a new watch expression.
Do either one of the following to register watch-expressions in other panels.
Drag and drop the target character string onto this area in the desired watch panel (Watch1 to Watch4). |
Select [Register to Watch1] from the context menu after selecting the target character string or place the caret on either of the target character string (the target is automatically determined). |
Select the [Edit] menu >> [Paste] in this area in the desired watch panel (Watch1 to Watch4) after selecting the [Edit] menu >> [Copy] for the target character string. |
The relationship between panels that can use this operation and targets that can be registered as watch-expressions is as follows:
Variable names of C language, CPU registers, I/O registers, and assembler symbols |
|
Variable names of C language, CPU registers, I/O registers, and assembler symbols |
|
Click the button on the toolbar or select [Add New Watch] from the context menu in the desired watch panel (Watch1 to Watch4) to display an entry box for a new watch-expression in the bottom of this area.
Directly input a watch-expression from the keyboard in the [Watch] area in the entry box then press the [Enter] key.
For details on the input format of the watch-expression, see "(b) Watch-expression and operator".
Watch-expressions can be registered with specifying the scope. The scope specifications with watch-expression registration are as follows:
If a load module name or file name contains a space or one of the following symbols, enclose the name in double-quotes (" "). |
If functions with the same name exist, write the type of parameter expressly. Example: func(int, int) |
A search is made for static functions and global functions from the scope of the current PC value in that order. Static functions out of scope are not searched for. |
If the current PC value exists in a specified function, the local variables that are not declared as static also comprise the subject to be searched. |
A search is made for local variables, static variables inside a file and global variables from the scope of the current PC value in that order. The local variables and the static variables inside a file that are out of scope are not searched for. |
A symbol name at the current caret position can be complemented by pressing the [Ctrl] + [Space] key in this area (see "2.19.2 Symbol name completion function"). |
An immediate value is treated as an address. Note, however, that an immediate value with operators cannot be used. |
If the same name exists either in C language variables, CPU registers or I/O registers, and it is registered without specifying scopes, then its value will be displayed after the symbol is determined in the following order. |
If a local variable and a global variable exist with the same name, and its symbol name is registered without specifying scopes, then its value will be displayed after the symbol is determined based on the scope of the current PC value. |
If the letter "I" alone is specified as a watch-expression, it is interpreted as an imaginary keyword. To acquire the value of a register "I," add ":REG" after the register. |
When watch-expressions are registered from the IOR panel or the CPU Register panel, the scope specification is automatically added. |
Select a character string of a variable of C language, CPU register, I/O register or assembler symbol from a external editor then do either one of the following.
Drag and drop the target character string in this area in the desired watch panel (Watch1 to Watch4). |
Select the [Edit] menu >> [Paste] in this area in the desired watch panel (Watch1 to Watch4) after copying the target character string. |
Up to 3000 watch-expressions can be registered in one watch panel (if this restriction is violated, a message appears). |
Due to compiler optimization, the data for the target variable may not be on the stack or in a register in blocks where that variable is not used. In this case, the target watch-expression value is displayed as "?". |
Each watch-expression registered in each watch panel (Watch1 to Watch4) is managed in each panel and saved as the user information of the project. |
You can export registered watch-expressions to a file and import it so that the watch-expressions can be re-registered (see "2.10.6.8 Export/import watch-expressions"). |
To edit the registered watch-expression, double-click the watch-expression to be edited to change the watch-expression to edit mode then directly edit from the keyboard (press the [Esc] key to cancel the edit mode).
After editing the watch-expression, press the [Enter] key to complete the editing.
To delete the registered watch-expression, select the watch-expression(s) to be deleted then click the button on the toolbar or select [Delete] from the context menu.
Various events can be set to the selected watch-expression by selecting [Access Break], [Trace Output] or [Performance Measurement] from the context menu.
If an access event is set, the mark of the watch-expression is changed (the event mark of a break event, Trace event or Performance Measurement event is displayed under the icon of the watch-expression in layers).
When an event is set, the detailed information about the set event is reflected in the Events panel.
Note that events are only set to the watch-expressions that are global variables, static variables inside functions, or file-internal static variables.
See the following for details on how to set events.
By selecting [Jump to Memory] from the context menu, the Memory panel (Memory1) opens with moving the caret to the address in which the selected watch-expression is defined (if the Memory panel (Memory1) is already open, the screen will jump to the panel).
Note that this operation is disabled when more than one watch-expression is selected at the same time or the CPU register/I/O register is selected.
The value of the registered watch-expression is displayed and changed (if the watch-expression is a function pointer, the function name is displayed in this area).
Notations and encodes can be selected by the button on the toolbar or the context menu item. In addition, a display format adding the value in hexadecimal number constantly can also be selected as well.
The default display format of the values is automatically decided depending on the type of the watch-expression.
The meanings of the marks and colors displayed as the values of watch-expressions are as follows (character colors and background colors depend on the configuration in the [General - Font and Color] category of the Option dialog box):
The value of the watch-expression that the user is changing |
|||
The value of the watch-expression that is displayed with the Real-time display update function |
|||
The value of the watch-expression that has been changed because of the execution of a program To reset the highlighting, select the button on the toolbar or [Reset Color] from the context menu. |
|||
Variable that does not exist is registered as a watch-expression or the value of the watch-expression cannot be retrieved (i.g. when the I/O register is read-protectedNote, or a variable is out of the scope, etc.) |
|||
The I/O register that cause the microcontroller to operate when it is read is read-protected and therefore cannot be read ("?" is displayed in the value). |
Each watch-expression acquires the value in the order it was registered. |
When a hexadecimal value is also given, then values in the specified notation and hexadecimal values are read separately. For this reason, the values with the specified notion and the hexadecimal values may differ due to the time lag between being read. |
This area is provided with the following functions.
Using the real-time display update function allows you to display/modify the value of the watch-expression not only while the program is stopped, but also in execution.
See "2.10.1.4 Display/modify the memory contents during program execution" for details on the real-time display update function.
To edit the value of the watch-expression, change the value directly from the keyboard after double-clicking on the value to be edited (press the [Esc] key to cancel the edit mode).
After you edit the value of the watch-expression, it is written to the target memory of the debug tool by pressing the [Enter] key, or moving the focus to outside the edit region.
See "2.10.6.6 Modify the contents of watch-expressions" for detail on how to change values of watch-expressions.
By selecting the [File] menu >> [Save Watch Data As...], the Save As dialog box can be opened, and all the contents of this panel can be saved in a text file (*.txt) or CSV file (*.csv).
By selecting [Save Expanded Watch Data…] from the context menu, the Save As dialog box can be opened, and the selected contents of watch-expressions can be saved in a text file (*.txt) or CSV file (*.csv).
See "2.10.6.9 Save the contents of watch-expressions" for details on the method for saving the contents of watch-expressions.
The type information of watch-expressions with the following format is displayed.
The size of the watch-expression is displayed in bytes. |
The address that each watch-expression is mapped is displayed (hexadecimal number notation fixing).
If the watch-expression is single CPU register or is unknown, "-" or "?" is displayed instead.
If the watch-expression is the bit I/O register, the bit-offset value is also displayed as follows: |
When the bit register is allocated to bit 4 of the address "0xFF40": |
The user can write comments for the watch-expressions/categories.
Each comment for a watch-expression/category written in this area is saved individually as the user information of the project. Therefore, when any of the watch-expression/category is deleted, the comment corresponding to it is also deleted.
Note that when arrays or register are displayed expanded, the comment cannot be input for each element.
To edit the comment, input the character strings directly from the keyboard after double-clicking on the item to be edited (press the [Esc] key to cancel the edit mode). Up to 256 character strings can be input (line feed code is ignored). After editing the character strings, complete the editing by pressing the [Enter] key or moving the focus to outside the edit region.
Reacquires all the values of the registered watch-expression and updates the display. Note that read-protected I/O register values are not re-read. |
||
Resets highlighting of the selected watch-expression whose value has been changed by executing a program. |
||
Registers a new watch-expression. Directly input the watch-expression in the text box (see "(c) Registering new watch-expression") Note that up to 3000 watch-expressions can be registered in one watch panel. |
||
Directly input the category name in the text box. Note that up to 1500 categories can be created in one watch panel (categories cannot be created in categories). |
||
Deletes the selected character string(s). If the watch-expression(s)/category(s) are selected, deletes them (except when the expanded item of the watch-expression is selected). |
||
The following buttons to change the notation of a data value are displayed. |
||
Displays the value of the selected watch-expression in the default notation (see "Table A.7 Display Format of Watch-Expressions (Default)") according to the type of variable (default). |
||
Displays the value of the selected item in hexadecimal number. |
||
Displays the value of the selected item in signed decimal number. |
||
Displays the value of the selected item in unsigned decimal number. |
||
Displays the value of the selected item in float. Note that this item becomes valid only when the selected watch-expression value is 4-byte data. |
||
Displays the value of the selected item in double. Note that this item becomes valid only when the selected watch-expression value is 8-byte data. |
||
Adds the value in hexadecimal number enclosing with "()" at the end of the value of the selected item (except the item displayed in hexadecimal number). |
[[File] menu (Watch panel-dedicated items)]
The following items are exclusive for the [File] menu in the Watch panel (other items are common to all the panels).
Note that all these items are disabled during execution of a program.
Overwrites the contents of this panel to the previously saved text file (*.txt)/CSV file (*.csv) (see "(c) Saving the contents of watch-expressions"). Note that when the file has never been saved or the file is write disabled, the same operation is applied as the selection in [Save Watch Data As...]. |
|
Opens the Save As dialog box to newly save the contents of this panel to the specified text file (*.txt)/CSV file (*.csv) (see "(c) Saving the contents of watch-expressions"). |
[[Edit] menu (Watch panel-dedicated items)]
The following items are exclusive for [Edit] menu in the Watch panel (all other items are disabled).
This item becomes valid only when the selected watch-expression is the global variable, the static variable inside functions, the file-internal static variable, or I/O register (multiple selections not allowed). The following cascade menus are displayed to set the access break event (see "2.9.5.1 Set a break event (access type)"). |
|||
Sets a break event with read access condition to the selected watch-expression. |
|||
Sets a break event with write access condition to the selected watch-expression. |
|||
Sets a break event with read/write access condition to the selected watch-expression. |
|||
This item becomes valid only when the selected watch-expression is a global variable, static variable inside functions, file-internal static variable, or I/O register (multiple selections not allowed). The following cascade menus are displayed to set the trace-related event (see "2.12.4.1 Set a Point Trace event"). |
|||
Sets a Point Trace event to record the values in the trace memory when the selected watch-expression is accessed for read. |
|||
Sets a Point Trace event to record the values in the trace memory when the selected watch-expression is accessed for write. |
|||
Sets a Point Trace event to record the values in the trace memory when the selected watch-expression is accessed for read/write. |
|||
Sets a trace start event to start collecting the trace data when the selected watch-expression is accessed for read/write. |
|||
Sets a trace end event to stop collecting the trace data when the selected watch-expression is accessed for read/write. |
|||
Opens the Trace panel and displays the acquired trace data. |
|||
Performance Measurement Settings [Full-spec emulator] [E1/E20] |
This item becomes valid only when the selected watch-expression is a global variable, static variable inside functions, file-internal static variable, or I/O register (multiple selections not allowed). The following cascade menus are displayed to set the performance measurement-related event. |
||
Sets a performance measurement start event that causes performance measurement to start in response to reading of the selected watch-expression. |
|||
Specify a channel n (n: 1 to 3) in which a performance measurement start event is set. |
|||
Sets a performance measurement end event that causes performance measurement to stop in response to reading of the selected watch-expression. |
|||
Specify a channel n (n: 1 to 3) in which a performance measurement end event is set. |
|||
Sets a performance measurement start event that causes performance measurement to start in response to writing of the selected watch-expression. |
|||
Specify a channel n (n: 1 to 3) in which a performance measurement start event is set. |
|||
Sets a performance measurement end event that causes performance measurement to stop in response to writing of the selected watch-expression. |
|||
Specify a channel n (n: 1 to 3) in which a performance measurement end event is set. |
|||
Sets a performance measurement start event that causes performance measurement to start in response to reading/writing of the selected watch-expression. |
|||
Specify a channel n (n: 1 to 3) in which a performance measurement start event is set. |
|||
Sets a performance measurement end event that causes performance measurement to stop in response to reading/writing of the selected watch-expression. |
|||
Specify a channel n (n: 1 to 3) in which a performance measurement end event is set. |
|||
The following cascade menus are displayed to set for the real-time display update function (see "(a) Real-time display update function"). |
|||
Opens the Property panel to set for the real-time display update function. |
|||
Reacquires all the values of the registered watch-expression and updates the display. Note that the values of read-protected I/O register are not re-read. |
|||
Forcibly reads once the values of the read-protected I/O register. |
|||
Registers a new watch-expression. Directly input the watch-expression in the text box (see "(c) Registering new watch-expression") Note that up to 3000 watch-expressions can be registered in one watch panel. |
|||
Adds a new category (folder). Directly input the category name in the text box. Note that up to 1500 categories can be created in one watch panel (categories cannot be created in categories). |
|||
Deletes the selected character string(s). If the watch-expression(s)/category(s) are selected, deletes them (except when the expanded item of the watch-expression is selected). |
|||
Deletes the selected character string(s) and copies them to the clipboard. If the watch-expression(s)/category(s) are selected, deletes them (except when the expanded item of the watch-expression is selected). |
|||
Copies the contents of the selected range to the clipboard as character string(s). If the watch-expression(s)/category(s) are selected, copies them to the clipboard (except when the expanded item of the watch-expression is selected). |
|||
If texts are in editing, pastes the contents of the clipboard to the caret position. If texts are not in editing and the watch-expression(s) are copied in the clipboard, registers them to the caret position. |
|||
Opens the Open Watch Expression Data File dialog box to import watch-expressions (see "2.10.6.8 Export/import watch-expressions"). |
|||
The following cascade menus are displayed to specify the notation. |
|||
Displays the value of the selected watch-expression in the default notation (see "Table A.7 Display Format of Watch-Expressions (Default)") according to the type of variable (default). |
|||
Displays the value of the selected item in hexadecimal number. |
|||
Displays the value of the selected item in signed decimal number. |
|||
Displays the value of the selected item in unsigned decimal number. |
|||
Adds the value in hexadecimal number enclosing with "()" at the end of the value of the selected item (except the item displayed in hexadecimal number). |
|||
Displays the value of the selected item in float. Note that when the selected watch-expression value is not 4-byte data, or has the type information, displays it in the default notation (see "Table A.7 Display Format of Watch-Expressions (Default)"). |
|||
Displays the value of the selected item in double. Note that when the selected watch-expression value is not 8-byte data, or has the type information, displays it in the default notation (see "Table A.7 Display Format of Watch-Expressions (Default)"). |
|||
Displays array indexes on this panel in decimal number (default). |
|||
The following cascade menus are displayed to specify the character code. |
|||
Displays the value of the selected item in ASCII code (default). |
|||
The following cascade menus are displayed to specify the size notation. |
|||
Opens the Memory panel (Memory1) and jumps to the address which the selected watch-expression is defined (see "(g) Jump to the address with memory definition"). |
|||
Resets highlighting of the selected watch-expression whose value has been changed by executing a program. |
|||
Opens the Save As dialog box to newly save the selected contents of watch-expressions to the specified text file (*.txt)/CSV file (*.csv) (see "(c) Saving the contents of watch-expressions"). |