When you run a native-compiled (unmanaged) program under Purify and collect coverage data, Purify instruments each module for coverage monitoring at one of the following levels:
§ Line-level instrumentation
§ Function-level instrumentation
§ Exclude
The default code-monitoring instrumentation level is specified in the PowerCheck tab in the settings dialog boxes. You can use the PowerCheck tab to change the default and also to specify how you want Purify to instrument individual modules.
The availability of relocation data, debug line data, and symbol data also affects the level at which Purify can perform instrumentation. For more information, click
Line-level instrumentation
Line-level instrumentation provides detailed data about whether each individual line in a function was executed by your tests. You can analyze this data using the Annotated Source window. Monitoring coverage at this level incurs a small amount of performance overhead during instrumentation and run-time.
Function-level instrumentation
Function level instrumentation provides data about whether each function was executed by your tests. It provides the same level of accuracy as line level, but with less detail. Function level is useful when you don't need to know which individual lines were executed in your program.
Exclude
When you exclude a module, Purify does not record coverage data for its functions, and the functions do not appear in any data coverage windows. Exclude is a good choice for code you cannot modify, such as system or third-party modules, or when you want to improve instrumentation and run-time performance while testing code coverage.
Notes:
§ By default, Purify excludes certain modules in the Windows directories. Some of these modules, known as system modules, are always excluded and you cannot change their coverage level. The coverage level for these modules appears as (System).
§ If the module you selected in the Module list in the Module Instrumentation dialog box is already instrumented and saved in the cache directory, and you change the instrumentation level, Purify automatically deletes the cached version and reinstruments the file the next time you run the program.
§ When you change coverage levels, you must rerun the program for the changes to take effect.
(C) Copyright IBM Corporation 1992, 2010.