Memory Profiling settings

The Memory Profiling settings are part of the Runtime Analysis node of the Configuration Settings dialog box, which allows you to configure settings for each node.

By default, the settings of each node are inherited from those of the parent node. When you override the settings of a parent node, changes are propagated to all child nodes within the same Configuration. Overridden fields are displayed in bold.

Instrumentation control

  • Detect File in Use (FIU): When the application exits, this option reports any files left open. See File in Use (FIU).

  • Detect Memory in use (MIU): When the application exits, this option reports allocated memory that is still referenced. See Memory in Use (MIU).

  • Free Invalid Memory (FIM): This option activates the detection of invalid free memory instructions. See Freeing Invalid Memory (FIM).

  • Detect Signal (SIG): This option indicates the signal number received by the application forcing it to exit. See Signal Handled (SIG).

  • Detect Freeing Freed Memory (FFM) and Detect Free Memory Write (FMWL): Select Yes to activate detection of these errors. See Freeing Freed Memory (FFM) and Late Detect Free Memory Write (FMWL).

  • Free queue length (blocks): specifies the number of memory blocks that are kept free.

  • Free queue size (bytes): specifies the total buffer size for free queue blocks. See Freeing Freed Memory (FFM) and Late Detect Free Memory Write (FMWL).

  • Largest free queue block size (bytes): Specifies the size of the largest block to be kept in the free queue.

  • Detect Array Bounds Write (ABWL): Select Yes to activate detection of this error. See Late Detect Array Bounds Write (ABWL).

  • Red zone length (bytes) specifies the number of bytes added by Memory Profiling around the memory range for bounds detection.

  • Number of functions in call stack: specifies the maximum number of functions reported from the end of the CPU call stack. The default value is 6.

  • Only show memory leaks with call stack: select this option to only record memory leaks that are associated with a call stack. Memory allocations that occurred before the application started do not have a call stack and are not included in the Memory Profiling report.

  • Line number link: Select Statement to link the line number in the report to the corresponding allocation or free statement in the function. Select Function to link only to the function entry and to improve performance.

  • Only show new memory leaks in each dump: In multi-dump report, Memory leaks (MLK) and potential leaks (MPK) are only reported once.

Advanced options

  • Trace File Name (.tpf): This setting allows you to specify a filename for the generated .tpf trace file.

  • Exclude block tracking before init: This setting disables memory profiling for any memory blocks allocated before the first execution of instrumented code. Use this option to prevent crashes when the system uses memory allocations that cannot be tracked.

  • Excluded global variables: Specifies a list of global variables that are not to be inspected for memory leaks. This option can be useful to save time and instrumentation overhead on trusted code. Use the Add and Remove buttons to add and remove global variables.

  • Exclude variables from directories: Specifies a list of directories from which any variables found in files are not to be inspected for memory leaks.

  • Break on error: Use this option to break the execution when an error is encountered. The break point must be set to priv_check_failed in debug mode.

  • ABWL and FMWL check frequency: Use this to check for ABWL and FMWL errors:

    • Each time the memory is dumped (by default).

    • Each time a manual check macro is encountered in the code.

    • Each function return.

These checks can be performed either on all memory blocks or only a selection of memory blocks. See Checking for ABWL and FMWL errors for more information.

  • Preserve block content: Set this setting to Yes to preserve the content of memory blocks freed by the application. Use this setting to avoid application crashes with Memory Profiling is engaged. However, reads to freed blocks of memory are no longer detected.

Related Topics

About Memory Profiling | JVMPI Technology | About Configuration Settings