Simulation Debugger

From Flowcode Help
Revision as of 14:24, 5 July 2016 by PaulN (talk | contribs)
Jump to navigationJump to search

<sidebar>Sidebar: Flowcode Help Overview:ToolsViews</sidebar>

Simulation debugger.png

The simulation debugger window becomes active during simulation. It is used to monitor the status of the variables in your program and the macros which are being called. Despite it's name, the simulation debugger also supports ICD mode, allowing for the macro call stack and variable values to be read directly from the microcontroller as it runs. It can also be used to pass or receive values of memory locations and registers on board the target microcontroller. This is useful for detecting and troubleshooting call stack overflows and precisely monitor the program as it runs in hardware.

When operating in 'normal speed', variables are not updated live. However, when the simulation is paused, running at a slower speed or 'Step Into' and 'Step Over' are used, the variables are updated.

You can actively change the speed of the simulation using the slider at the top left of the Simulation Debugger window, the default simulation speed is 'Normal' where no updating of variables visually occurs. The speed can also be reduced from 50Hz down to 0.25Hz, this will result in the simulation going through each icon individually at the specified speed and variables can be seen to update.


There is also a 'Simulation delay:' section at the top right of the 'Simulation debugger' window which displays the length and progress of delays set by Delay icons, this section also allows you to skip the delay by pressing the 'Skip' button which will stop the delay and carry on with the program and go to the next icon.


Changing variables during Simulation

When simulating variable values can be changed from the 'Simulation debugger' window by clicking on the 'Value' box next to the variable name and then simply typing in a value.


If the ICD Mode is enabled in your Project Options then stepping into or over icons during simulation will cause the ICD hardware to react accordingly. Changing variable values during the simulation will also work seamlessly with the ICD operation.


You can change variable values during simulation to alter the program accordingly, by doing so you can control components and quickly test them without the use of other inputs and icons to help and locate the error and improve the program.