Catching Dangling Pointers (Error Detection)

Related Topics

 

1.    Open the Default Settings or Executable Settings dialog box, or click Settings in the Run Program dialog box.

2.    Select the Errors and Leaks tab.

3.    Increase the number specified in Deferred free queue: Length.

4.    Increase the number specified in Deferred free queue: Threshold.

Notes:

§      Large values for the deferred free queue's length and threshold increase the chances of catching dangling pointer accesses long after the block has been freed and catching dangling pointer accesses to huge blocks of memory. This provides better error detection for Free Memory Read (FMR) and Free Memory Write (FMW) messages. A smaller deferred free queue length and threshold limits the amount of memory on the deferred free queue, taking up less memory at run time but providing a lower level of error detection.

§      In modules instrumented with minimal instrumentation, Purify does not check every read and write. It does not detect FMR messages, and detects FMW messages late. If late detect scanning is enabled in the settings dialog boxes, Purify reports these FMW messages as Late Detect Free Memory Write (FMWL) messages. For calls to Windows APIs, however, Purify continues to check every read and write, even in modules with minimal instrumentation.

(C) Copyright IBM Corporation 1992, 2010.