GDB (xrefs)
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
gdbpy_disassembler Struct Reference
Inheritance diagram for gdbpy_disassembler:
gdb_printing_disassembler gdb_disassemble_info

Public Member Functions

 gdbpy_disassembler (disasm_info_object *obj, PyObject *memory_source)
 
disasm_info_objectpy_disasm_info () const
 
const gdb::optional< CORE_ADDR > & memory_error_address () const
 
std::string release ()
 
bool restore_exception ()
 
- Public Member Functions inherited from gdb_printing_disassembler
 DISABLE_COPY_AND_ASSIGN (gdb_printing_disassembler)
 
- Public Member Functions inherited from gdb_disassemble_info
 DISABLE_COPY_AND_ASSIGN (gdb_disassemble_info)
 
struct gdbarcharch ()
 
struct disassemble_info * disasm_info ()
 

Static Public Member Functions

static void memory_error_func (int status, bfd_vma memaddr, struct disassemble_info *info) noexcept
 
static void print_address_func (bfd_vma addr, struct disassemble_info *info) noexcept
 
static int read_memory_func (bfd_vma memaddr, gdb_byte *buff, unsigned int len, struct disassemble_info *info) noexcept
 

Private Member Functions

void store_exception (gdbpy_err_fetch &&ex)
 
bool has_stored_exception () const
 

Private Attributes

string_file m_string_file
 
disasm_info_objectm_disasm_info_object
 
gdb::optional< CORE_ADDR > m_memory_error_address
 
PyObject * m_memory_source
 
gdb::optional< gdbpy_err_fetchm_stored_exception
 

Additional Inherited Members

- Protected Types inherited from gdb_disassemble_info
using read_memory_ftype = int(*)(bfd_vma, bfd_byte *, unsigned int, struct disassemble_info *) LIBOPCODE_CALLBACK_NOEXCEPT
 
using memory_error_ftype = void(*)(int, bfd_vma, struct disassemble_info *) LIBOPCODE_CALLBACK_NOEXCEPT
 
using print_address_ftype = void(*)(bfd_vma, struct disassemble_info *) LIBOPCODE_CALLBACK_NOEXCEPT
 
using fprintf_ftype = int(*)(void *, const char *,...) LIBOPCODE_CALLBACK_NOEXCEPT
 
using fprintf_styled_ftype = int(*)(void *, enum disassembler_style, const char *,...) LIBOPCODE_CALLBACK_NOEXCEPT
 
- Protected Member Functions inherited from gdb_printing_disassembler
struct ui_filestream ()
 
 gdb_printing_disassembler (struct gdbarch *gdbarch, struct ui_file *stream, read_memory_ftype read_memory_func, memory_error_ftype memory_error_func, print_address_ftype print_address_func)
 
static int static int bool in_comment_p () const
 
void set_in_comment (bool c)
 
- Protected Member Functions inherited from gdb_disassemble_info
 gdb_disassemble_info (struct gdbarch *gdbarch, read_memory_ftype read_memory_func, memory_error_ftype memory_error_func, print_address_ftype print_address_func, fprintf_ftype fprintf_func, fprintf_styled_ftype fprintf_styled_func)
 
virtual ~gdb_disassemble_info ()
 
- Static Protected Member Functions inherited from gdb_printing_disassembler
static int fprintf_func (void *dis_info, const char *format,...) noexcept ATTRIBUTE_PRINTF(2
 
static int static int fprintf_styled_func (void *dis_info, enum disassembler_style style, const char *format,...) noexcept ATTRIBUTE_PRINTF(3
 
- Protected Attributes inherited from gdb_disassemble_info
struct disassemble_info m_di
 

Detailed Description

Definition at line 90 of file py-disasm.c.

Constructor & Destructor Documentation

◆ gdbpy_disassembler()

gdbpy_disassembler::gdbpy_disassembler ( disasm_info_object obj,
PyObject *  memory_source 
)

Definition at line 681 of file py-disasm.c.

Member Function Documentation

◆ has_stored_exception()

bool gdbpy_disassembler::has_stored_exception ( ) const
inlineprivate

Definition at line 174 of file py-disasm.c.

References m_stored_exception.

Referenced by read_memory_func().

◆ memory_error_address()

const gdb::optional< CORE_ADDR > & gdbpy_disassembler::memory_error_address ( ) const
inline

Definition at line 114 of file py-disasm.c.

References m_memory_error_address.

Referenced by disasmpy_builtin_disassemble().

◆ memory_error_func()

void gdbpy_disassembler::memory_error_func ( int  status,
bfd_vma  memaddr,
struct disassemble_info *  info 
)
staticnoexcept

Definition at line 660 of file py-disasm.c.

References m_memory_error_address.

◆ print_address_func()

void gdbpy_disassembler::print_address_func ( bfd_vma  addr,
struct disassemble_info *  info 
)
staticnoexcept

◆ py_disasm_info()

disasm_info_object * gdbpy_disassembler::py_disasm_info ( ) const
inline

Definition at line 97 of file py-disasm.c.

References m_disasm_info_object.

Referenced by read_memory_func().

◆ read_memory_func()

int gdbpy_disassembler::read_memory_func ( bfd_vma  memaddr,
gdb_byte *  buff,
unsigned int  len,
struct disassemble_info *  info 
)
staticnoexcept

◆ release()

std::string gdbpy_disassembler::release ( )
inline

Definition at line 120 of file py-disasm.c.

References m_string_file, and string_file::release().

Referenced by disasmpy_builtin_disassemble().

◆ restore_exception()

bool gdbpy_disassembler::restore_exception ( )
inline

Definition at line 133 of file py-disasm.c.

References m_stored_exception, and gdbpy_err_fetch::restore().

Referenced by disasmpy_builtin_disassemble().

◆ store_exception()

void gdbpy_disassembler::store_exception ( gdbpy_err_fetch &&  ex)
inlineprivate

Definition at line 165 of file py-disasm.c.

References m_stored_exception.

Referenced by read_memory_func().

Member Data Documentation

◆ m_disasm_info_object

disasm_info_object* gdbpy_disassembler::m_disasm_info_object
private

Definition at line 153 of file py-disasm.c.

Referenced by py_disasm_info().

◆ m_memory_error_address

gdb::optional<CORE_ADDR> gdbpy_disassembler::m_memory_error_address
private

Definition at line 157 of file py-disasm.c.

Referenced by memory_error_address(), and memory_error_func().

◆ m_memory_source

PyObject* gdbpy_disassembler::m_memory_source
private

Definition at line 162 of file py-disasm.c.

◆ m_stored_exception

gdb::optional<gdbpy_err_fetch> gdbpy_disassembler::m_stored_exception
private

Definition at line 181 of file py-disasm.c.

Referenced by has_stored_exception(), restore_exception(), and store_exception().

◆ m_string_file

string_file gdbpy_disassembler::m_string_file
private

Definition at line 150 of file py-disasm.c.

Referenced by release().


The documentation for this struct was generated from the following file: