Checking for ABWL and FMWL errors

You can insert pragma macros into your source code to check for Late Detect Array Bounds Write (ABWL) and Late Detect Free Memory Write (FMWL)

About this task

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, you might want to manually specify when to check for ABWL and FMWL errors, and on which functions. You can use the ABWL and FMWL check frequency setting to perform a check at the following times:
  • Each time the memory is dumped (by default).
  • Each time a manual check macro is encountered in the code.
  • Each function return.
The checks can be performed either on all memory blocks or only a selection of memory blocks.

Procedure

  1. To indicate where you want an ABWL or FMWL check to occur in your source code, insert an _ATP_CHECK() macro at the corresponding location.
    Use the following syntax for the pragma macro:
    #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 viewer to the corresponding line in the source code.

  2. To create a selection of blocks that you explicitly want to verify, create a list in your source code using the _ATP_TRACK() macro variable. The syntax for this macro is:
    Use the following syntax for the pragma macro:
    #pragma attol insert _ATP_TRACK(<pointer>)