PDT HOME PREVIOUS NEXT

PDT Application:
Static Analysis and Documentation Generation
with DUCTAPE

Four DUCTAPE applications have been developed:

  • pdbconv converts PDB files to a more readable format
  • pdbmerge merges PDB files from separate compilations
  • pdbtree prints file inclusion, class hierarchy, and call graph trees
  • pdbhtml "htmlizes" C++ source


Sample Output from pdbtree

Mutex &Mutex::Mutex()
`--> void *operator new(unsigned long)
`--> List &List::List()
void Mutex::~Mutex()
`--> void operator delete(void *)
`--> void List::~List()
     `--> void operator delete(void *)
     `--> void List_elem::~List_elem()
          `--> void operator delete(void *)
          `--> void Thread::~Thread()
               `--> void operator delete(void *)
void Mutex::lock()
`--> void threadSwap(List *, List *, Swap)
void Mutex::unlock()
`--> int List::isEmpty()
`--> void threadSwap(List *, List *, Swap)
List
`--> (HAS-A) List_elem *
`--> (HAS-A) List_elem *
Thread
`--> (HAS-A) List *
`--> (HAS-A) List *
`--> (HAS-A) List *
`--> (HAS-A) List *
`--> (HAS-A) List *
`--> (HAS-A) ucontext_t *
List_elem
`--> (HAS-A) Thread *
`--> (HAS-A) List_elem *
`--> (HAS-A) List_elem *
Mutex
`--> (HAS-A) List *