Code Database (CDB) is an analysis tool that can be used to measure backwards compatibility between releases of a single executable, a component or an entire release of Symbian OS.
CDB can be used to detect differences between versions that affect binary and source compatibility. CDB generates a compatibility report that can be analysed to determine the nature and cause of breaks.
The tool can detect the following types of breaks:
ordinal breaks
missing enumerations
changes in the data layout etc.
The tool produces the output report in two formats: XML and HTML.
Backward Compatibility (BaC) breaks may cause failure of the code, thus affecting users of Symbian OS. CDB provides a mechanism to identify the unauthorised breaks in a release before it is shipped to customers.
CDB has the following features:
It is shipped with every build of CDB (in
epoc32\tools\cdb
)
Easily installable
Runs out of the box
Completely configurable
Can check the following:
executable details such as its:
existence
SID changes
capability changes
MMP filename
DEF file existence
existence of:
resource file
exported header file
class existence
enumeration
constant data
layout details of:
DEF file
resource file
class
VTable
enumeration
changes to inline functions
constant data value
Generates fully customisable xml and html reports
IM Access and Status aware
Can tag breaks with the IM Access and IM Status of the broken API
Can be automated
CDB user guide takes you through the following: