Intel® Inspector User Guide for Windows* OS

ID 767798
Date 10/31/2024
Public
Document Table of Contents

finalize

Resolve symbols and form problems sets to finalize an existing result.

Syntax

-finalize

-I

Arguments

None

Description

Finalization, or symbol resolution, uses debug information from binary files to resolve symbol information and form problem sets.

You can use the finalize action to:

  • Finalize an un-finalized result.

  • Re-finalize a result when the previous finalization did not include all necessary symbol information. Any previously resolved symbol information is discarded, and a new symbol resolution is performed, using symbol information from default locations. If the necessary symbol information is not found, the missing symbol information is retrieved from any specified search directories.

IMPORTANT:

To be sure you do not inadvertently use the wrong result, use the result-dir option to specify the result directory. If the result-dir option is not used, the most recently generated result under the current working directory is used by default.

Intel Inspector does not check the validity of the module binaries, so improper finalization may result if the <option>finalize</option> action is used without specifying the same module binaries that were used to collect the result. If the necessary symbol information is not stored in a default location, use the search-dir option to specify the directory containing the binaries. Symbol information from the specified search directories is used only if the necessary information is not found in the default locations.

The first time an unfinalized result is opened or loaded, the result is automatically finalized. So before opening an unfinalized result in the GUI, check settings in the module binaries containing symbol information are a result is opened through the GUI, by double-clicking, or if a report is generated without specifying the module binaries, improper finalization may result.

Finalization normally occurs automatically:

  • When analysis is initiated through the GUI, finalization occurs immediately after the result is generated, as the Summary displays in the standalone GUI or Microsoft Visual Studio* IDE.

  • When using the collect and collect-with actions to initiate analysis on the command line, finalization is performed automatically towards the end of the collection and result generation process, before the Summary is displayed. However, automatic finalization can be suppressed if the no-auto-finalize option is used with these actions.

  • When the report action is used to generate a report from a non-finalized result. For example, when the no-auto-finalize option was used when collecting the result on the command line.

  • When an unfinalized result is opened in the GUI.

Use the finalize action when:

  • The no-auto-finalize option was used during collection and you want to specify the search directory with symbol information.

  • The result was only partially resolved, and you want to redo symbol resolution using a more complete set of symbol information.

  • There was an issue with symbol resolution, possibly because the search-dir option did not point to the appropriate directory.

  • Unknown symbols and numbers appear when a report is generated from a result, or when a result is viewed in the standalone GUI or Microsoft Visual Studio* IDE. This can happen when incorrect symbol information was used during the original analysis or when finalization did not complete properly.

NOTE:

For proper finalization, please make sure to use the <option>finalize</option> action

and specify the same module binaries you used to collect the result.

Alternate Options

Finalization normally occurs as part of the collect or collect-with actions, the first time that a result is opened in the Microsoft Visual Studio* IDE, or when a report is generated from a non-finalized result.

Example

This command uses the collect action with the mi1 analysis type, so a Detect Leaks memory error analysis is performed to answer the question Does my target leak memory?. The no-auto-finalize option is used to suppress finalization, and the un-finalized result is written to the specified myRes@@@mi1 result directory under the current working directory. The @@@ counter auto-increments, starting with 000, so if this were the first result directory created under the current working directory using this naming format, the result directory would be named myRes000mi1.

$ inspxe-cl -collect mi1 -no-auto-finalize -result-dir myRes@@@mi1

To finalize the previous un-finalized result, use the result-dir option to specify the myRes000mi1 result directory. Since the result was never finalized, use the search-dir option to pass in non-default search directories containing the symbol information.

$ inspxe-cl -finalize -result-dir myRes000mi1 -search-dir bin:=nonstandardDirA,nonstandardDirB