HP Code Advisor

3 Using the Program Database (PDB)
The PDB is a repository of errors, warnings, diagnostic messages, and metrics generated while
analyzing the application. The HP Code Advisor uses the PDB also to store the information
required for the analysis. If you want to perform cross-file analysis of the application, you need
to use a PDB. During the compilation phase of your application, the HP Code Advisor stores an
intermediate representation of the application in the PDB and uses it during the application link
phase to perform the cross-file analysis. You can use the reporting tool to see different kinds of
reports from the information stored in the PDB without having to repeat the analysis phase. A
single PDB can be used to store the analysis information of multiple applications. In such cases,
the cross-file analysis for each application is performed when cadvise is invoked with the link
command for each application.
NOTE: This does not work with the -crossfile=pdb option. Instead, the analysis logs are
combined into a single report when cadvise report is used on such a PDB.
The size of the PDB is proportional to the total size of the object files created while building the
application. It also depends on the number of errors and the diagnostic messages found during
the analysis of the application. The size of the PDB can be three to four times more than the total
size of the object files. Therefore, ensure that there is enough space in the volume or the ClearCase
VOB where the PDB resides. You can also locate the PDB within a ClearCase VOB. The ClearMake
dependency checking and wink-in mechanisms work with the PDB in the VOB. If the PDB is
created in a View, then it is winked-in by other Views that have the matching configuration spec
and build rules.
NOTE: Due to limitations in ClearCase, cadvise cannot access a PDB located on a clearcase
VOB via a NFS mounted directory from a non-ClearCase machine. If you access the VOB from
a non-ClearCase machine, ensure that the PDB is located on a local file system or use the
-pdb_no_locking option. For more information, see the Problems with NFS locking section in
Administrator's Guide: Rational Clearcase and Rational Clearcase LT.
The internal format of the PDB has been changed in preparation for creating PDBs in other
platforms. This means that this version of cadvise is not compatible with PDBs generated by
older versions of cadvise. As an example, users cannot use this version of cadvise to generate
reports on PDBs generated by previous versions of cadvise. Ensure you remove the older PDBs
with the-pdb_destroy option (cadvise -pdb <location> -pdb_destroy) before you
use this version of cadvise. Alternately, you can use a different location for the PDBs generated
with this newer version of Cadvise. One of the following errors appear if you use Cadvise with
an incompatible PDB:
cannot open PDB collection "<name>" (Error: Incompatible PDB version)
cannot open PDB element "<name>" (Error: Incompatible PDB version)
found problem while traversing PDB (Error: Incompatible PDB version)
NOTE: We try to make changes to the PDB format in a way that preserves forward compatibility
(ie: a PDB generated by an older version of cadvise can be used by a new version of cadvise).
However, it is not guaranteed that all the format changes will be forward compatible. In some
cases we are forced to break such forward compatibility in order to support new features.
The organization and the internal format of the PDB may change from release to release. Hence,
it is not advisable to directly manipulate the content of the PDB. However, the PDB can be safely
copied to different directory by using a recursive copy command (cp R).
25