/vtable-dumper

A tool to list content of virtual tables in a shared library

Primary LanguageCOtherNOASSERTION

NAME:
  Vtable-Dumper - a tool to list content of virtual tables in a C++ shared library
  
  It is intended for developers of software libraries and maintainers of Linux
  distributions who are interested in ensuring backward binary compatibility.
  
  The tool is developed by Andrey Ponomarenko: http://abi-laboratory.pro/

INSTALL:
  sudo make install prefix=/usr
  
REQUIRES:
  libelf
  libdl
  libstdc++

USAGE:
  vtable-dumper SHLIB
  
EXAMPLE:
  vtable-dumper /usr/lib64/libstdc++.so.6

OPTIONS:
  -mangled       Show mangled symbol names
  -demangled     Show de-mangled symbol names
  -help          Display this help message
  -dumpversion   Print the tool version and don't do anything else
  
NOTE:
  Make sure that all dependencies of a target library can be found by ldd. Otherwise
  dlopen() may fail. Add paths to these libraries to LD_LIBRARY_PATH in this case.
  
SAMPLE OUTPUT:
  Vtable for QIconEnginePlugin
  _ZTV17QIconEnginePlugin: 22 entries
  0     (int (*)(...)) 0
  8     (int (*)(...)) (& _ZTI17QIconEnginePlugin)
  16    (int (*)(...)) QIconEnginePlugin::metaObject() const
  24    (int (*)(...)) QIconEnginePlugin::qt_metacast(char const*)
  32    (int (*)(...)) QIconEnginePlugin::qt_metacall(QMetaObject::Call, int, void**)
  40    (int (*)(...)) QIconEnginePlugin::~QIconEnginePlugin()
  48    (int (*)(...)) QIconEnginePlugin::~QIconEnginePlugin()
  56    (int (*)(...)) QObject::event(QEvent*)
  64    (int (*)(...)) QObject::eventFilter(QObject*, QEvent*)
  72    (int (*)(...)) QObject::timerEvent(QTimerEvent*)
  80    (int (*)(...)) QObject::childEvent(QChildEvent*)
  88    (int (*)(...)) QObject::customEvent(QEvent*)
  96    (int (*)(...)) QObject::connectNotify(char const*)
  104   (int (*)(...)) QObject::disconnectNotify(char const*)
  112   (int (*)(...)) __cxa_pure_virtual
  120   (int (*)(...)) __cxa_pure_virtual
  128   (int (*)(...)) -0x00000000000010
  136   (int (*)(...)) (& _ZTI17QIconEnginePlugin)
  144   (int (*)(...)) _ZThn16_N17QIconEnginePluginD1Ev
  152   (int (*)(...)) _ZThn16_N17QIconEnginePluginD0Ev
  160   (int (*)(...)) __cxa_pure_virtual
  168   (int (*)(...)) __cxa_pure_virtual