GDB (xrefs)
|
#include "defs.h"
#include "python-internal.h"
#include "charset.h"
#include "progspace.h"
#include "objfiles.h"
#include "language.h"
#include "arch-utils.h"
#include "solib.h"
#include "block.h"
#include "py-event.h"
#include "observable.h"
Go to the source code of this file.
Classes | |
struct | pspace_object |
struct | pspace_deleter |
Macros | |
#define | PSPY_REQUIRE_VALID(pspace_obj) |
Functions | |
PyTypeObject pspace_object_type | CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("pspace_object") |
static PyObject * | pspy_get_filename (PyObject *self, void *closure) |
static PyObject * | pspy_get_symbol_file (PyObject *self, void *closure) |
static PyObject * | pspy_get_exec_file (PyObject *self, void *closure) |
static void | pspy_dealloc (PyObject *self) |
static int | pspy_initialize (pspace_object *self) |
static PyObject * | pspy_new (PyTypeObject *type, PyObject *args, PyObject *keywords) |
PyObject * | pspy_get_printers (PyObject *o, void *ignore) |
static int | pspy_set_printers (PyObject *o, PyObject *value, void *ignore) |
PyObject * | pspy_get_frame_filters (PyObject *o, void *ignore) |
static int | pspy_set_frame_filters (PyObject *o, PyObject *frame, void *ignore) |
PyObject * | pspy_get_frame_unwinders (PyObject *o, void *ignore) |
static int | pspy_set_frame_unwinders (PyObject *o, PyObject *unwinders, void *ignore) |
static PyObject * | pspy_get_type_printers (PyObject *o, void *ignore) |
PyObject * | pspy_get_xmethods (PyObject *o, void *ignore) |
static int | pspy_set_type_printers (PyObject *o, PyObject *value, void *ignore) |
static PyObject * | pspy_get_objfiles (PyObject *self_, PyObject *args) |
static PyObject * | pspy_solib_name (PyObject *o, PyObject *args) |
static PyObject * | pspy_objfile_for_address (PyObject *o, PyObject *args) |
static PyObject * | pspy_block_for_pc (PyObject *o, PyObject *args) |
static PyObject * | pspy_find_pc_line (PyObject *o, PyObject *args) |
static PyObject * | pspy_is_valid (PyObject *o, PyObject *args) |
gdbpy_ref | pspace_to_pspace_object (struct program_space *pspace) |
struct program_space * | progspace_object_to_program_space (PyObject *obj) |
bool | gdbpy_is_progspace (PyObject *obj) |
static int | emit_executable_changed_event (eventregistry_object *registry, struct program_space *pspace, bool reload_p) |
static void | gdbpy_executable_changed (struct program_space *pspace, bool reload_p) |
static void | gdbpy_program_space_event (program_space *pspace, bool adding_p) |
static void | gdbpy_new_program_space_event (program_space *pspace) |
static void | gdbpy_free_program_space_event (program_space *pspace) |
static int CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION | gdbpy_initialize_pspace (void) |
GDBPY_INITIALIZE_FILE (gdbpy_initialize_pspace) | |
Variables | |
static const registry< program_space >::key< pspace_object, pspace_deleter > | pspy_pspace_data_key |
static gdb_PyGetSetDef | pspace_getset [] |
static PyMethodDef | progspace_object_methods [] |
PyTypeObject | pspace_object_type |
#define PSPY_REQUIRE_VALID | ( | pspace_obj | ) |
Definition at line 88 of file py-progspace.c.
Referenced by pspy_block_for_pc(), pspy_find_pc_line(), pspy_get_exec_file(), pspy_get_objfiles(), pspy_get_symbol_file(), pspy_objfile_for_address(), and pspy_solib_name().
|
extern |
|
static |
Definition at line 604 of file py-progspace.c.
References create_event_object(), evpy_add_attribute(), evpy_emit_event(), and pspace_to_pspace_object().
Referenced by gdbpy_executable_changed().
|
static |
Definition at line 633 of file py-progspace.c.
References emit_executable_changed_event(), evregpy_no_listeners_p(), gdb_py_events, gdb_python_initialized, and gdbpy_print_stack().
Referenced by gdbpy_initialize_pspace().
|
static |
Definition at line 700 of file py-progspace.c.
References gdbpy_program_space_event().
Referenced by gdbpy_initialize_pspace().
GDBPY_INITIALIZE_FILE | ( | gdbpy_initialize_pspace | ) |
|
static |
Definition at line 706 of file py-progspace.c.
References gdb::observers::executable_changed, gdb::observers::free_program_space, gdb_module, gdb_pymodule_addobject(), gdbpy_executable_changed(), gdbpy_free_program_space_event(), gdbpy_new_program_space_event(), gdb::observers::new_program_space, and pspace_object_type.
bool gdbpy_is_progspace | ( | PyObject * | obj | ) |
Definition at line 592 of file py-progspace.c.
References pspace_object_type.
Referenced by gdbpy_format_address(), and progspace_object_to_program_space().
|
static |
Definition at line 691 of file py-progspace.c.
References gdbpy_program_space_event().
Referenced by gdbpy_initialize_pspace().
|
static |
Definition at line 650 of file py-progspace.c.
References create_event_object(), evpy_add_attribute(), evpy_emit_event(), evregpy_no_listeners_p(), gdb_py_events, gdb_python_initialized, gdbpy_print_stack(), and pspace_to_pspace_object().
Referenced by gdbpy_free_program_space_event(), and gdbpy_new_program_space_event().
struct program_space * progspace_object_to_program_space | ( | PyObject * | obj | ) |
Definition at line 583 of file py-progspace.c.
References gdbpy_is_progspace().
Referenced by gdbpy_format_address().
gdbpy_ref pspace_to_pspace_object | ( | struct program_space * | pspace | ) |
Definition at line 560 of file py-progspace.c.
References get(), registry< T >::get(), symtab_and_line::pspace, pspace_object_type, pspy_initialize(), pspy_pspace_data_key, and registry< T >::set().
Referenced by create_clear_objfiles_event_object(), disasmpy_info_progspace(), emit_executable_changed_event(), find_pretty_printer_from_progspace(), gdbpy_get_matching_xmethod_workers(), gdbpy_program_space_event(), gdbpy_progspaces(), infpy_get_progspace(), and objfpy_get_progspace().
|
static |
Definition at line 463 of file py-progspace.c.
References block_for_pc(), block_to_block_object(), find_pc_compunit_symtab(), GDB_PY_HANDLE_EXCEPTION, get_addr_from_python(), compunit_symtab::objfile(), pspace_object::pspace, PSPY_REQUIRE_VALID, and set_current_program_space().
|
static |
Definition at line 156 of file py-progspace.c.
References pspace_object::dict, pspace_object::frame_filters, pspace_object::frame_unwinders, pspace_object::printers, pspace_object::type_printers, and pspace_object::xmethods.
|
static |
Definition at line 506 of file py-progspace.c.
References find_pc_line(), GDB_PY_HANDLE_EXCEPTION, get_addr_from_python(), symtab_and_line::pc, pspace_object::pspace, PSPY_REQUIRE_VALID, set_current_program_space(), and symtab_and_line_to_sal_object().
|
static |
Definition at line 142 of file py-progspace.c.
References program_space::exec_filename, host_string_to_python_string(), pspace_object::pspace, and PSPY_REQUIRE_VALID.
|
static |
Definition at line 101 of file py-progspace.c.
References host_string_to_python_string(), objfile_name(), pspace_object::pspace, and program_space::symfile_object_file.
PyObject * pspy_get_frame_filters | ( | PyObject * | o, |
void * | ignore ) |
Definition at line 257 of file py-progspace.c.
References pspace_object::frame_filters.
PyObject * pspy_get_frame_unwinders | ( | PyObject * | o, |
void * | ignore ) |
Definition at line 296 of file py-progspace.c.
References pspace_object::frame_unwinders.
|
static |
Definition at line 387 of file py-progspace.c.
References objfile_to_objfile_object(), program_space::objfiles(), pspace_object::pspace, and PSPY_REQUIRE_VALID.
PyObject * pspy_get_printers | ( | PyObject * | o, |
void * | ignore ) |
Definition at line 219 of file py-progspace.c.
References pspace_object::printers.
Referenced by find_pretty_printer_from_progspace().
|
static |
Definition at line 122 of file py-progspace.c.
References objfile_to_objfile_object(), pspace_object::pspace, PSPY_REQUIRE_VALID, and program_space::symfile_object_file.
|
static |
Definition at line 336 of file py-progspace.c.
References pspace_object::type_printers.
PyObject * pspy_get_xmethods | ( | PyObject * | o, |
void * | ignore ) |
Definition at line 347 of file py-progspace.c.
References pspace_object::xmethods.
Referenced by gdbpy_get_matching_xmethod_workers().
|
static |
Definition at line 173 of file py-progspace.c.
References pspace_object::dict, pspace_object::frame_filters, pspace_object::frame_unwinders, pspace_object::printers, pspace_object::pspace, pspace_object::type_printers, and pspace_object::xmethods.
Referenced by pspace_to_pspace_object(), and pspy_new().
|
static |
Definition at line 542 of file py-progspace.c.
References pspace_object::pspace.
|
static |
Definition at line 205 of file py-progspace.c.
References pspy_initialize().
|
static |
Definition at line 439 of file py-progspace.c.
References get_addr_from_python(), program_space::objfile_for_address(), objfile_to_objfile_object(), pspace_object::pspace, and PSPY_REQUIRE_VALID.
|
static |
Definition at line 267 of file py-progspace.c.
References pspace_object::frame_filters.
|
static |
Definition at line 307 of file py-progspace.c.
References pspace_object::frame_unwinders.
|
static |
Definition at line 228 of file py-progspace.c.
References pspace_object::printers, and value.
|
static |
Definition at line 358 of file py-progspace.c.
References pspace_object::type_printers, and value.
|
static |
Definition at line 416 of file py-progspace.c.
References get_addr_from_python(), host_string_to_python_string(), pspace_object::pspace, PSPY_REQUIRE_VALID, and solib_name_from_address().
|
static |
Definition at line 750 of file py-progspace.c.
|
static |
Definition at line 726 of file py-progspace.c.
PyTypeObject pspace_object_type |
Definition at line 771 of file py-progspace.c.
Referenced by gdbpy_initialize_pspace(), gdbpy_is_progspace(), and pspace_to_pspace_object().
|
static |
Definition at line 85 of file py-progspace.c.
Referenced by pspace_to_pspace_object().