Instrumentation for Testing and Debugging

Instrumentation for Testing and Debugging

Design-level debugging is supported through a combination of various instrumentation inserted into the generated code. This instrumentation typically consists of code that calls external functions (i.e. APIs) and source-level libraries implementing those functions.

Localization of these instrumentations might be done either by predefining the instrumentation calls or by modifying the provided API implementations.

Design-level debugging features include:

Trace – time stamps
Trace – State transitions (reportState function)