Creating a Suppress-All File from the Command Line

When you want to suppress all problems remaining in an application, you can use the Intel Inspectorinspxe-cl command to create a suppress-all file. Suppress-all files are expensive to produce and to apply, so be sure to consider other alternatives, such as problem states or manually assigning suppression rules, before using this method to filter problems.

In Intel® Inspector, you can create suppression files - files containing suppression rules - through the GUI or through the inspxe-cl command line interface, but the capabilities are not the same in both interfaces. GUI tools allow you manage suppression rules individually - for example, to add or delete a single suppression rule. But when you want to create suppression rules for all problems remaining in your application, known as a suppress-all file, you must use the command line.

Tip

Any number of suppression files can be used when performing analysis, but each suppression rule adds some overhead to the analysis process, so you will want to avoid redundantly suppressing the same code locations. Once your suppress-all file is created, you can manage it by editing suppression rules with a text editor, or adding or deleting suppression rules in the GUI. As an example, after creation, you might edit your suppress-all file in a text editor to merge multiple suppression rules into a smaller number of broader-scoped collection rules. As your code base changes, you might add suppression rules manually, and delete any that have become unnecessary. For more information on managing suppression files, see the links at the bottom of this topic.

Set Up

Before creating a suppression file, configure the Project Properties in the GUI to allow suppressions. This won't affect results generated from the command line, in which suppressions are always enabled, but it will affect the results of any analyses you might generate through the GUI.

Check your suppressions directory settings. To make it easy to switch between the GUI and the command line, store suppression files in the standard suppressions directory: ./My Inspector Results-[project name]/suppressions.

Choose a representative data set that exercises your code while minimizing unnecessary overhead.

A suppression file is created for a specific type of analysis, such as memory error or threading error analysis, so while you are working in the GUI, configure your analysis settings, and then use the Dialog Box Corresponding inspxe-cl Command Options to copy the command with the analysis type and other arguments to your clipboard, then save it to use on the command line.

Generate a Result that Only Contains Problems to Suppress

Your goal is to create a suppression file that contains only those problems that you want to suppress. To do this, you must run an analysis and fix all problems that should be fixed, and then run a second analysis so that the second result only contains those problems that you want to suppress. You will use this second result to generate your suppress-all file.

Note

Any problem state assignments are carried forward into the second result, but do not affect which problems are included in the suppress-all file. For example, even if the state is Confirmed, a suppression rule will be created for this problem in the suppress-all file.

  1. Run an analysis on your application using your configured analysis settings.

    Tip

    If you initiate analysis through the GUI, you can view the analysis result immediately, use the Copy the Command Line tool to get the analysis command for use in subsequent analysis runs, and have easy access to your code editor.

  2. Fix all detected problems that are unacceptable and should not remain in the application code. Be sure to fix detected errors only, so that no new problems are introduced before running the second analysis.

  3. Using the same sample data set, if applicable, run your second analysis. Memory and threading analysis can be performed through the command line.

The result of this second analysis contains only those problems that you chose not to fix, so you are ready to create your suppression file.

Create the Suppress-All File

Now that your second result is ready, use the inspxe-cl command to create the suppress-all file.

The default name for suppression files is default. .

To make it easy to switch between the GUI and the command line, store suppression files in the standard suppressions directory: ./My Inspector Results-[project name]/suppressions.

The command syntax takes this general form:

inspxe-cl -create-suppression-file <PATHname> -result-dir <PATH>

For more information, see the option reference for create-suppression-file.

Next Steps

Once the suppress-all file exists for this type of analysis, you can use this suppression file in future analyses of this type, or when generating reports from results in which these problems are not already suppressed.

If you want to set up suppression files for a different kind of analysis, repeat this process. You may want to store the suppression file in a different directory.

For more complete information about compiler optimizations, see our Optimization Notice.