Dyninst::AddressTranslateWin Class Reference

Inheritance diagram for Dyninst::AddressTranslateWin:
Dyninst::AddressTranslate

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 LoadedLibgetLoadedLib (std::string name)
COMMON_EXPORT LoadedLibgetLoadedLib (SymReader *sym)
COMMON_EXPORT LoadedLibgetExecutable ()
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
LoadedLibexec
SymbolReaderFactorysymfactory
bool read_abort

Private Attributes

bool no_proc

Detailed Description

Definition at line 45 of file addrtranslate-win.C.


Constructor & Destructor Documentation

AddressTranslateWin::AddressTranslateWin ( PID  pid,
PROC_HANDLE  phandle 
)

Definition at line 165 of file addrtranslate-win.C.

References init().


Member Function Documentation

AddressTranslate * AddressTranslate::createAddressTranslator ( ProcessReader reader_ = NULL,
SymbolReaderFactory symfactory_ = NULL,
std::string  exename = std::string(""),
Address  interp_base = (Address) -1 
) [static, inherited]
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]
COMMON_EXPORT bool Dyninst::AddressTranslate::getArchLibs ( vector< LoadedLib * > &  olibs  )  [inherited]
LoadedLib * AddressTranslate::getExecutable (  )  [inherited]
bool AddressTranslate::getLibAtAddress ( Address  addr,
LoadedLib *&  lib 
) [inherited]

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]
COMMON_EXPORT LoadedLib* Dyninst::AddressTranslate::getLoadedLib ( SymReader sym  )  [inherited]
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]
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.


Field Documentation

bool Dyninst::AddressTranslate::creation_error [protected, inherited]
LoadedLib* Dyninst::AddressTranslate::exec [protected, inherited]
std::string Dyninst::AddressTranslate::exec_name [protected, inherited]
vector<LoadedLib *> Dyninst::AddressTranslate::libs [protected, inherited]

Definition at line 48 of file addrtranslate-win.C.

Referenced by refresh(), and setNoProc().

Definition at line 102 of file addrtranslate.h.

Referenced by refresh().

PID Dyninst::AddressTranslate::pid [protected, inherited]
bool Dyninst::AddressTranslate::read_abort [protected, inherited]

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Jul 2013 for SymtabAPI by  doxygen 1.6.1