Public Member Functions | |
| virtual bool | init () |
| virtual bool | refresh () |
| AddressTranslateWin (PID pid, PROC_HANDLE phandle) | |
| void | setNoProc (bool b) |
| virtual Address | getLibraryTrapAddrSysV () |
| COMMON_EXPORT PID | getPid () |
| COMMON_EXPORT bool | getLibAtAddress (Address addr, LoadedLib *&lib) |
| COMMON_EXPORT bool | getLibs (vector< LoadedLib * > &libs_) |
| COMMON_EXPORT bool | getArchLibs (vector< LoadedLib * > &olibs) |
| COMMON_EXPORT LoadedLib * | getLoadedLib (std::string name) |
| COMMON_EXPORT LoadedLib * | getLoadedLib (SymReader *sym) |
| COMMON_EXPORT LoadedLib * | getExecutable () |
| void | setReadAbort (bool b) |
Static Public Member Functions | |
| static COMMON_EXPORT AddressTranslate * | createAddressTranslator (PID pid_, ProcessReader *reader_=NULL, SymbolReaderFactory *symfactory_=NULL, PROC_HANDLE phand=INVALID_HANDLE_VALUE, std::string exename=std::string(""), Address interp_base=(Address)-1) |
| static COMMON_EXPORT AddressTranslate * | createAddressTranslator (ProcessReader *reader_=NULL, SymbolReaderFactory *symfactory_=NULL, std::string exename=std::string(""), Address interp_base=(Address)-1) |
Protected Attributes | |
| PID | pid |
| PROC_HANDLE | phandle |
| bool | creation_error |
| vector< LoadedLib * > | libs |
| std::string | exec_name |
| LoadedLib * | exec |
| SymbolReaderFactory * | symfactory |
| bool | read_abort |
Private Attributes | |
| bool | no_proc |
Definition at line 45 of file addrtranslate-win.C.
| AddressTranslateWin::AddressTranslateWin | ( | PID | pid, | |
| PROC_HANDLE | phandle | |||
| ) |
Definition at line 165 of file addrtranslate-win.C.
References init().
| AddressTranslate * AddressTranslate::createAddressTranslator | ( | ProcessReader * | reader_ = NULL, |
|
| SymbolReaderFactory * | symfactory_ = NULL, |
|||
| std::string | exename = std::string(""), |
|||
| Address | interp_base = (Address) -1 | |||
| ) | [static, inherited] |
Definition at line 216 of file addrtranslate-aix.C.
References Dyninst::AddressTranslate::createAddressTranslator().
| AddressTranslate * AddressTranslate::createAddressTranslator | ( | PID | pid_, | |
| ProcessReader * | reader_ = NULL, |
|||
| SymbolReaderFactory * | symfactory_ = NULL, |
|||
| PROC_HANDLE | phand = INVALID_HANDLE_VALUE, |
|||
| std::string | exename = std::string(""), |
|||
| Address | interp_base = (Address) -1 | |||
| ) | [static, inherited] |
Definition at line 197 of file addrtranslate-aix.C.
References Dyninst::AddressTranslate::creation_error.
Referenced by Dyninst::SymtabAPI::AddressLookup::createAddressLookup(), and Dyninst::AddressTranslate::createAddressTranslator().
| COMMON_EXPORT bool Dyninst::AddressTranslate::getArchLibs | ( | vector< LoadedLib * > & | olibs | ) | [inherited] |
Referenced by Dyninst::AddressTranslateSysV::refresh().
| LoadedLib * AddressTranslate::getExecutable | ( | ) | [inherited] |
Definition at line 168 of file addrtranslate.C.
References Dyninst::AddressTranslate::exec.
Referenced by Dyninst::SymtabAPI::AddressLookup::getExecutable().
This code sets lower_lib_index and higher_lib_index to point to the indexes in libs[] that have dynamic section addresses that are the closest to the target address.
Let's search this list in a not-stupid order. We'll check lower_lib_index and higher_lib_index first (the -1 and -2 cases). If neither of those look right, then we'll just have to walk the entire list.
Definition at line 49 of file addrtranslate.C.
References Dyninst::LoadedLib::getDynamicAddr(), Dyninst::LoadedLib::getMappedRegions(), and Dyninst::AddressTranslate::libs.
Referenced by Dyninst::SymtabAPI::AddressLookup::getOffset(), and Dyninst::SymtabAPI::AddressLookup::getSymbol().
| Address AddressTranslateWin::getLibraryTrapAddrSysV | ( | ) | [virtual] |
Reimplemented from Dyninst::AddressTranslate.
Definition at line 172 of file addrtranslate-win.C.
| bool AddressTranslate::getLibs | ( | vector< LoadedLib * > & | libs_ | ) | [inherited] |
Definition at line 124 of file addrtranslate.C.
References Dyninst::AddressTranslate::libs.
Referenced by Dyninst::SymtabAPI::AddressLookup::getAllSymtabs(), Dyninst::SymtabAPI::AddressLookup::getLoadAddresses(), and Dyninst::SymtabAPI::AddressLookup::getLoadedLib().
| LoadedLib * AddressTranslate::getLoadedLib | ( | std::string | name | ) | [inherited] |
Definition at line 137 of file addrtranslate.C.
References Dyninst::AddressTranslate::libs.
| PID AddressTranslate::getPid | ( | ) | [inherited] |
Definition at line 132 of file addrtranslate.C.
References Dyninst::AddressTranslate::pid.
| bool AddressTranslateWin::init | ( | ) | [virtual] |
Definition at line 83 of file addrtranslate-win.C.
References Dyninst::AddressTranslate::creation_error, and refresh().
Referenced by AddressTranslateWin().
| bool AddressTranslateWin::refresh | ( | ) | [virtual] |
Implements Dyninst::AddressTranslate.
Definition at line 104 of file addrtranslate-win.C.
References Dyninst::LoadedLib::add_mapped_region(), Dyninst::AddressTranslate::libs, no_proc, Dyninst::AddressTranslate::phandle, and printSysError().
Referenced by init().
| void AddressTranslateWin::setNoProc | ( | bool | b | ) |
Definition at line 62 of file addrtranslate-win.C.
References no_proc.
| void AddressTranslate::setReadAbort | ( | bool | b | ) | [inherited] |
Definition at line 149 of file addrtranslate.C.
References Dyninst::AddressTranslate::read_abort.
bool Dyninst::AddressTranslate::creation_error [protected, inherited] |
Definition at line 103 of file addrtranslate.h.
Referenced by Dyninst::AddressTranslateSysV::AddressTranslateSysV(), Dyninst::AddressTranslate::createAddressTranslator(), and init().
LoadedLib* Dyninst::AddressTranslate::exec [protected, inherited] |
Definition at line 108 of file addrtranslate.h.
Referenced by Dyninst::AddressTranslate::getExecutable(), Dyninst::AddressTranslateSysV::refresh(), and Dyninst::AddressTranslate::~AddressTranslate().
std::string Dyninst::AddressTranslate::exec_name [protected, inherited] |
Definition at line 107 of file addrtranslate.h.
Referenced by Dyninst::AddressTranslateSysV::getExecName(), and Dyninst::AddressTranslateSysV::parseDTDebug().
vector<LoadedLib *> Dyninst::AddressTranslate::libs [protected, inherited] |
Definition at line 106 of file addrtranslate.h.
Referenced by Dyninst::AddressTranslate::getLibAtAddress(), Dyninst::AddressTranslate::getLibs(), Dyninst::AddressTranslate::getLoadedLib(), refresh(), Dyninst::AddressTranslateSysV::refresh(), Dyninst::AddressTranslateAIX::refresh(), and Dyninst::AddressTranslate::~AddressTranslate().
bool Dyninst::AddressTranslateWin::no_proc [private] |
Definition at line 48 of file addrtranslate-win.C.
Referenced by refresh(), and setNoProc().
PROC_HANDLE Dyninst::AddressTranslate::phandle [protected, inherited] |
Definition at line 102 of file addrtranslate.h.
Referenced by refresh().
PID Dyninst::AddressTranslate::pid [protected, inherited] |
Definition at line 101 of file addrtranslate.h.
Referenced by Dyninst::AddressTranslate::getPid(), Dyninst::AddressTranslateSysV::refresh(), Dyninst::AddressTranslateAIX::refresh(), and Dyninst::AddressTranslateSysV::setInterpreterBase().
bool Dyninst::AddressTranslate::read_abort [protected, inherited] |
Definition at line 110 of file addrtranslate.h.
Referenced by Dyninst::AddressTranslateSysV::refresh(), and Dyninst::AddressTranslate::setReadAbort().
SymbolReaderFactory* Dyninst::AddressTranslate::symfactory [protected, inherited] |
Definition at line 109 of file addrtranslate.h.
Referenced by Dyninst::AddressTranslateAIX::AddressTranslateAIX(), Dyninst::AddressTranslateSysV::AddressTranslateSysV(), Dyninst::AddressTranslateSysV::getLoadedLibByNameAddr(), Dyninst::AddressTranslateSysV::parseDTDebug(), and Dyninst::AddressTranslateSysV::setInterpreter().
1.6.1