User's Manual

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).
19