
Near line 20, search for the declaration of the global variable callCount and add the volatile qualifier: static volatile int_fast8_t callCount The volatile qualifier can be used when declaring the application's variables to be used with C-SPY macros. Although, depending on the compiler's optimization level, it might use registers when storing variables that have local scope or shorter lifespans. Example 1: Logging C variablesĪny C variables existing in the target's memory can be dumped using C-SPY macros. This project is accessible from the Help menu → Information Center → Product explorer → Getting started using IAR Embedded Workbench → Open tutorial workspace. Examplesįor the examples below, we will take advantage of the BasicDebugging which is bundled with the product as a reference project. The following C-SPY macro statements are accepted:įor more details about the macro language components, please refer to the C-SPY Debugging Guide, which you can reach from the Help menu in IAR Embedded Workbench. Macro statements: are expected to behave in a similar way the corresponding C statements would do. The C-SPY built-in macro function _toString() can be used for converting a NULL-terminated C string in the application ( char * or char) to a macro string. It differs from a typical C string as it has no pointer access to a target memory. Macro strings: a special kind of macro variable able to hold literal strings.

By doing so, it will exist throughout the whole debugging session. A global macro variable can be defined outside a macro body. Such variables can be used when performing C-SPY expression evaluations or even to assign values from the application's variables to them. Macro variables: variables defined and allocated outside the embedded application. Macro functions can return a value on its completion and they can receive an unlimited number of macro parameters upon their invocation.
LOG FILE SPY CODE
Macro functions: a block of macro code containing statements and variables that together can perform a task when the macro function is called. On top of this, you can choose what to log depending on your preference! You can either choose to Log them as Files or via the available Databases! Bukkit SideĬomplete Features list can be found here!Įverything will be logged in its appropriate Folder / File and what's even better, the old files will auto-delete if they are older than what's been set in the config file! Because Storage is valuable!

With more than 20 Features to choose from, nothing is left without monitoring.

An All-in-One plugin that logs all Activities from Commands, Chat, Player Join, Player Leave, Player Death, and even Server's RAM, TPS, and Much More for both Proxy and Bukkit Servers!
