Purify does not detect Array Bounds Read (ABR) and Array Bounds Write (ABW) errors on the stack. It does detect Uninitialized Memory Read (UMR) warnings on the stack if you specify the following in Additional options in the Files tab in the settings dialog boxes:
§ /StackInsertion=yes/no; default is yes
§ /StackLoadChecking=yes/no; default is no
Notes:
§ If you set /StackInsertion=no, Purify does not detect any UMRs.
§ If /StackInsertion=yes and /StackLoadChecking=no, Purify detects some UMRs and ignores others.
§ For maximum UMR detection, set both options to yes.
§ If you use minimal instrumentation, Purify does not find UMRs.
§ Purify is incompatible with the Visual C++ 7, 8 and 9 compiler stack frame checking mechanism, enabled via the /RTC* family of compiler options. If a module is built with one of these options, code is generated to fill the uninitialized stack memory with a special bit pattern. This interferes with Purify's UMR detection mechanism which relies on its own special bit pattern being written to uninitialized memory. For information on the recommended settings for building native-code executables in Visual Studio click .
(C) Copyright IBM Corporation 1992, 2010.