Target States

Top  Previous  Next

In debug mode, your target may be in one of several states at any given moment.

For this, the status bar displays several different status messages:

tide_state_run

Run: This message means your program is currently running. It doesn't mean any specific code is actually being executed -- perhaps the target device is just sitting idle, waiting for an event to happen. But the program is still running -- not paused. This state is entered by pressing F5 or Debug > Run.

tide_state_break

Break: This message occurs when the Virtual Machine on the target was stopped while executing code. The easiest way to get to this state is by setting and reaching a breakpoint in code. You might also get to this state by selecting Debug > Pause, if you happen to catch the Virtual Machine in the midst of code execution. Once in this state, the program pointer (a yellow line) is displayed and indicates the next instruction that the Virtual Machine will execute when started. You can now inspect and change various properties and variables (both global and local) using the watch. This is the only state which allows stepping.

tide_state_pause

Pause: This message occurs when the Virtual Machine on the target was stopped while not executing code (in other words, it was caught between events). No program pointer is displayed in this state, because no code is being executed. You can check and modify the state of properties and global variables, etc using the watch. This state is entered by selecting Debug > Pause.

tide_state_abort

Abort (exception): This message indicates that an internal error has occurred. The message in parentheses is a short error code. If you hover your mouse over it, you will see a more detailed report of the error. The program pointer will appear at the problematic line. This state is similar to a break, only it is not caused by a breakpoint but by an abnormal condition. All possible causes for exception are listed in Exceptions.

Communication States

While TIDE is in communication with the target, the status bar displays a moving indicator of the communication state.

tide_state_comm_alive

Communication in progress: The circle is green, and moves from side to side. It advances one step whenever TIDE gets a reply to a debug command.

tide_state_comm_dying

Communication problem: The circle is yellow, and does not move. This state means TIDE did not receive any reply to debug commands for more than 6 seconds. The program may be still running on the target.

tide_state_comm_dead

No Communication: The circle is red, and does not move. Occurs when TIDE did not receive any reply to debug commands for more than 12 seconds. The program may be still running on the target.