Checking for ABWL and FMWL errors

By default, Memory Profiling checks for ABWL and FMWL  errors whenever the routines are called, or whenever the free queue is actually flushed.

In some cases, it might be desirable to manually specify when to check for ABWL and FMWL errors, and on which functions.

By using the ABWL and FMWL check frequency setting you can order a check on:

The checks can be performed either on all memory blocks or only a selection of memory blocks.

Specifying a manual check

To indicate where you want an ABWL or FMWL check to occur in your source code, you insert an _ATP_CHECK() macro at the corresponding location. The syntax for the macro is:

#pragma attol insert _ATP_CHECK(@RELFLINE)

Each time this macro is encountered during execution, Memory Profiling checks for ABWL and FMWL errors on the specified blocks. The @RELFLINE parameter allows navigation from the Memory Profiling report to the corresponding line in the source code.

Selecting blocks to check

To create a selection of blocks that you specifically want to verify, you create a list in your source code using the _ATP_TRACK() macro variable. The syntax for this macro is:

#pragma attol insert _ATP_TRACK(<pointer>)

Example

A sample demonstrating how to use this feature is provided in the ABWL Check Frequency example project. See Example projects for more information.

Related Topics

Memory Profiling SettingsLate Detect Free Memory Write (FMWL)Late Detect Array Bounds Write (ABWL)