PDB files contain information on types, classes, routines, and other constructs. The items on routines, for example, provide the following details. Applications access this information via the DUCTAPE API.
| ro#[routineID] | < name of routine > | |
| rloc | < fileID > < line > < column > | # location |
| [ | ||
| rclass | < classID > |
# parent class |
| racs | < pub | prot | priv > | # access |
| OR | ||
| rnspace | < namespaceID > | # parent namespace |
| ] | ||
| rsig | < typeID > | # signature |
| rlink | < no | internal | C++ | C > | # linkage |
| rstore | < ext | stat | auto | NA | asm > | # storage class |
| rstatic | < boolean > | # is static function? |
| rkind | < ctor | dtor | conv | op > | # special kind |
| rvirt | < no | virt | pure> | # virtuality |
| rcrvo | < boolean > | # is covariant return virtual override? |
| rinline | < boolean > | # is inline? |
| rcgen | < boolean > | # is compiler generated? |
| rexpl | < boolean > | # is explicit ctor? |
| rtempl | < templateID or boolean > | # ID if template instance; boolean if specialized |
| rspecl | < boolean > | # is specialized? |
| rcall [...] | < routineID > < no | virt > < fileID > < line > < column > | # callees |
| rpos | < start of return type > < last token before "{" > < "{" > < "}" > |