Dyninst::Dwarf::DwarfHandle Class Reference

#include <dwarfHandle.h>

Public Types

typedef DwarfHandleptr

Public Member Functions

 ~DwarfHandle ()
Elf_XorigFile ()
Elf_XdebugLinkFile ()
Dwarf_Debug * line_dbg ()
Dwarf_Debug * type_dbg ()
Dwarf_Debug * frame_dbg ()
DwarfFrameParserPtr frameParser ()

Static Public Member Functions

static DwarfHandle::ptr createDwarfHandle (std::string filename_, Elf_X *file_, Dwarf_Handler err_func_=defaultErrFunc, Dwarf_Ptr err_data_=NULL)

Private Types

enum  dwarf_status_t { dwarf_status_uninitialized, dwarf_status_error, dwarf_status_ok }

Private Member Functions

bool init_dbg ()
void locate_dbg_file ()
bool hasFrameData (Elf_X *elfx)
 DwarfHandle (std::string filename_, Elf_X *file_, Dwarf_Handler err_func_, Dwarf_Ptr err_data_)

Static Private Member Functions

static void defaultDwarfError (Dwarf_Error err, Dwarf_Ptr arg)

Private Attributes

DwarfFrameParserPtr sw
dwarf_status_t init_dwarf_status
Dwarf_Debug dbg_file_data
Dwarf_Debug file_data
Dwarf_Debug * line_data
Dwarf_Debug * type_data
Dwarf_Debug * frame_data
Elf_Xfile
Elf_Xdbg_file
Dwarf_Handler err_func
Dwarf_Ptr err_data
std::string filename
std::string debug_filename

Static Private Attributes

static std::map< std::string,
DwarfHandle::ptr
all_dwarf_handles
static Dwarf_Handler defaultErrFunc = DwarfHandle::defaultDwarfError

Detailed Description

Definition at line 47 of file dwarfHandle.h.


Member Typedef Documentation

Definition at line 49 of file dwarfHandle.h.


Member Enumeration Documentation

Enumerator:
dwarf_status_uninitialized 
dwarf_status_error 
dwarf_status_ok 

Definition at line 52 of file dwarfHandle.h.


Constructor & Destructor Documentation

Dyninst::Dwarf::DwarfHandle::DwarfHandle ( std::string  filename_,
Elf_X file_,
Dwarf_Handler  err_func_,
Dwarf_Ptr  err_data_ 
) [private]
DwarfHandle::~DwarfHandle (  ) 

Definition at line 208 of file dwarfHandle.C.

References dbg_file_data, dwarf_status_ok, file_data, and init_dwarf_status.


Member Function Documentation

static DwarfHandle::ptr Dyninst::Dwarf::DwarfHandle::createDwarfHandle ( std::string  filename_,
Elf_X file_,
Dwarf_Handler  err_func_ = defaultErrFunc,
Dwarf_Ptr  err_data_ = NULL 
) [static]
Elf_X * DwarfHandle::debugLinkFile (  ) 
void DwarfHandle::defaultDwarfError ( Dwarf_Error  err,
Dwarf_Ptr  arg 
) [static, private]

Definition at line 42 of file dwarfHandle.C.

Dwarf_Debug * DwarfHandle::frame_dbg (  ) 
DwarfFrameParserPtr DwarfHandle::frameParser (  ) 
bool DwarfHandle::hasFrameData ( Elf_X elfx  )  [private]
bool DwarfHandle::init_dbg (  )  [private]
Dwarf_Debug * DwarfHandle::line_dbg (  ) 

Definition at line 186 of file dwarfHandle.C.

References init_dbg(), and line_data.

Referenced by Dyninst::SymtabAPI::Object::parseDwarfFileLineInfo().

void DwarfHandle::locate_dbg_file (  )  [private]
Elf_X * DwarfHandle::origFile (  ) 

Definition at line 176 of file dwarfHandle.C.

References file.

Dwarf_Debug * DwarfHandle::type_dbg (  ) 

Definition at line 193 of file dwarfHandle.C.

References init_dbg(), and type_data.

Referenced by Dyninst::SymtabAPI::Object::parseTypeInfo().


Field Documentation

map< std::string, DwarfHandle::ptr > DwarfHandle::all_dwarf_handles [static, private]

Definition at line 74 of file dwarfHandle.h.

Definition at line 66 of file dwarfHandle.h.

Referenced by debugLinkFile(), init_dbg(), and locate_dbg_file().

Definition at line 59 of file dwarfHandle.h.

Referenced by init_dbg(), and ~DwarfHandle().

Definition at line 73 of file dwarfHandle.h.

Referenced by locate_dbg_file().

Dwarf_Handler DwarfHandle::defaultErrFunc = DwarfHandle::defaultDwarfError [static, private]

Definition at line 75 of file dwarfHandle.h.

Definition at line 68 of file dwarfHandle.h.

Referenced by init_dbg().

Dwarf_Handler Dyninst::Dwarf::DwarfHandle::err_func [private]

Definition at line 67 of file dwarfHandle.h.

Referenced by init_dbg().

Definition at line 65 of file dwarfHandle.h.

Referenced by init_dbg(), locate_dbg_file(), and origFile().

Definition at line 60 of file dwarfHandle.h.

Referenced by init_dbg(), and ~DwarfHandle().

Definition at line 72 of file dwarfHandle.h.

Referenced by locate_dbg_file().

Definition at line 63 of file dwarfHandle.h.

Referenced by frame_dbg(), and init_dbg().

Definition at line 57 of file dwarfHandle.h.

Referenced by init_dbg(), and ~DwarfHandle().

Definition at line 61 of file dwarfHandle.h.

Referenced by init_dbg(), and line_dbg().

Definition at line 51 of file dwarfHandle.h.

Referenced by frameParser(), and init_dbg().

Definition at line 62 of file dwarfHandle.h.

Referenced by init_dbg(), and type_dbg().


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

Generated on 12 Jul 2013 for SymtabAPI by  doxygen 1.6.1