Stepping through applications, Debugging interrupts for 5000 or 6000 series chips, Using statement expansion – Echelon IzoT NodeBuilder User Manual

Page 253: Using the watch list pane, Ee using the watch list pane

Advertising
background image

Stepping Through Applications

You can step through the code in your application one line at a time after you halt the application. You
can step into or step over a line of code. The two methods are identical for all statements except for
function calls. When you step over a function call, the function executes and you step to the line of
code after the function call. When you step into a function, you step to the first executable line of the
function. For more information on stopping a device application running in debug mode, see the
previous section, Stopping an Application.

When you halt an application, an arrow (

) appears in the left margin at the line of code where the

application was stopped. When you step to the next command, the arrow moves to indicate the current
line of source code where the application has been stopped.

To step over the current line of the application, you can either click the step over button (

) on the

Debugger toolbar; click Debug and then click Step Over; or press <F10>.

To step into the current line of the application, you can either click the step into button (

) on the

Debugger toolbar; click Debug and then click Step Into; or press <F11>.

Debugging Interrupts for 5000 or 6000 Series chips

If you are debugging a target device that uses a 5000 or 6000 Series chip, you cannot set breakpoints in
interrupt-tasks or set breakpoints in functions that are called from interrupt-tasks. If you set a
breakpoint in an interrupt-tasks or in a function called from an interrupt-task and interrupts are
enabled [with the interrupt_control() function], the debug target will report a system error, reset, and
then go into the soft-offline state. If you re-enable interrupts in the reset clause before the device can
go offline, the NodeBuilder debugger might lose communication with the device and therefore need to
set the device applicationless

Using Statement Expansion

The 3100 Series chips use a 2-byte breakpoint instruction for debugging. To support breakpoints in
all suitable locations, the compiler must expand some statements to a 2-byte machine instruction (by
inserting a benign no-operation performed [NOP] instruction).

The 5000 and 6000 Series chips support single-byte breakpoint instructions for debugging, which
enables the debug image for a 5000 or 6000 Series chip to be smaller than that of a 3100 Series chip.
To support single-byte breakpoint instructions, no padding is necessary, and the compiler does not
need not to expand statements.

By default, the statement expansion feature is enabled to support the debugging of 3100 Series devices.
If you are debugging a 5000 or 6000 Series device, you can disable the statement expansion feature to
reduce the size of the debug image. To do this, right click the target, click Settings on the shortcut
menu, then select the Compiler tab in the NodeBuilder Device Template Target Properties dialog.
In the Debug Kernel Options box, clear the Expand Statements check box, and then click OK.

Using the Watch List Pane

You can add variables, network variables, and configuration properties in your device application to
the Watch List and then monitor their current values in the Watch List pane.

You can monitor local variables when the application is halted in a context where the variables are
available. You can monitor global variables and network variables while the application is running.
You can also modify the values of global variables and input network variables while the application is
running. You can only modify output network variables when the application is halted in the
debugger. You cannot monitor the msg_in, msg_out, resp_in, and resp_out built-in variables from
the debugger.

IzoT NodeBuilder FX User's Guide

239

Advertising