GDB (xrefs)
|
#include "defs.h"
#include "value.h"
#include "python-internal.h"
#include "python.h"
#include "charset.h"
#include "breakpoint.h"
#include "gdbcmd.h"
#include "gdbthread.h"
#include "observable.h"
#include "cli/cli-script.h"
#include "ada-lang.h"
#include "arch-utils.h"
#include "language.h"
#include "location.h"
#include "py-event.h"
#include "linespec.h"
Go to the source code of this file.
Classes | |
struct | gdbpy_breakpoint_location_object |
struct | pybp_code |
Macros | |
#define | BPLOCPY_REQUIRE_VALID(Breakpoint, Location) |
#define | BPLOCPY_SET_REQUIRE_VALID(Breakpoint, Location) |
#define | pybp_debug_printf(fmt, ...) debug_prefixed_printf_cond (pybp_debug, "py-breakpoint", fmt, ##__VA_ARGS__) |
#define | PYBP_SCOPED_DEBUG_ENTER_EXIT scoped_debug_enter_exit (pybp_debug, "py-breakpoint") |
Functions | |
PyTypeObject breakpoint_location_object_type | CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("breakpoint_location_object") |
static void | show_pybp_debug (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static PyObject * | bppy_is_valid (PyObject *self, PyObject *args) |
static PyObject * | bppy_get_enabled (PyObject *self, void *closure) |
static PyObject * | bppy_get_silent (PyObject *self, void *closure) |
static int | bppy_set_enabled (PyObject *self, PyObject *newvalue, void *closure) |
static int | bppy_set_silent (PyObject *self, PyObject *newvalue, void *closure) |
static int | bppy_set_thread (PyObject *self, PyObject *newvalue, void *closure) |
static int | bppy_set_task (PyObject *self, PyObject *newvalue, void *closure) |
static PyObject * | bppy_delete_breakpoint (PyObject *self, PyObject *args) |
static int | bppy_set_ignore_count (PyObject *self, PyObject *newvalue, void *closure) |
static int | bppy_set_hit_count (PyObject *self, PyObject *newvalue, void *closure) |
static PyObject * | bppy_get_location (PyObject *self, void *closure) |
static PyObject * | bppy_get_expression (PyObject *self, void *closure) |
static PyObject * | bppy_get_condition (PyObject *self, void *closure) |
static int | bppy_set_condition (PyObject *self, PyObject *newvalue, void *closure) |
static PyObject * | bppy_get_commands (PyObject *self, void *closure) |
static int | bppy_set_commands (PyObject *self, PyObject *newvalue, void *closure) |
static PyObject * | bppy_get_type (PyObject *self, void *closure) |
static PyObject * | bppy_get_visibility (PyObject *self, void *closure) |
static PyObject * | bppy_get_temporary (PyObject *self, void *closure) |
static PyObject * | bppy_get_pending (PyObject *self, void *closure) |
static PyObject * | bppy_get_number (PyObject *self, void *closure) |
static PyObject * | bppy_get_thread (PyObject *self, void *closure) |
static PyObject * | bppy_get_task (PyObject *self, void *closure) |
static PyObject * | bppy_get_hit_count (PyObject *self, void *closure) |
static PyObject * | bppy_get_ignore_count (PyObject *self, void *closure) |
static PyObject * | bppy_get_locations (PyObject *self, void *closure) |
static int | bppy_init_validate_args (const char *spec, char *source, char *function, char *label, char *line, enum bptype type) |
static int | bppy_init (PyObject *self, PyObject *args, PyObject *kwargs) |
static bool | build_bp_list (struct breakpoint *b, PyObject *list) |
bool | gdbpy_breakpoint_init_breakpoint_type () |
PyObject * | gdbpy_breakpoints (PyObject *self, PyObject *args) |
enum ext_lang_bp_stop | gdbpy_breakpoint_cond_says_stop (const struct extension_language_defn *extlang, struct breakpoint *b) |
int | gdbpy_breakpoint_has_cond (const struct extension_language_defn *extlang, struct breakpoint *b) |
static void | gdbpy_breakpoint_created (struct breakpoint *bp) |
static void | gdbpy_breakpoint_deleted (struct breakpoint *b) |
static void | gdbpy_breakpoint_modified (struct breakpoint *b) |
int | gdbpy_initialize_breakpoints (void) |
int | gdbpy_initialize_breakpoint_locations () |
static int | local_setattro (PyObject *self, PyObject *name, PyObject *v) |
void | _initialize_py_breakpoint () |
static int | bplocpy_set_enabled (PyObject *py_self, PyObject *newvalue, void *closure) |
static PyObject * | bplocpy_get_enabled (PyObject *py_self, void *closure) |
static PyObject * | bplocpy_get_address (PyObject *py_self, void *closure) |
static PyObject * | bplocpy_get_owner (PyObject *py_self, void *closure) |
static PyObject * | bplocpy_get_source_location (PyObject *py_self, void *closure) |
static PyObject * | bplocpy_get_function (PyObject *py_self, void *closure) |
static PyObject * | bplocpy_get_thread_groups (PyObject *py_self, void *closure) |
static PyObject * | bplocpy_get_fullname (PyObject *py_self, void *closure) |
static void | bplocpy_dealloc (PyObject *py_self) |
Variables | |
static bool | pybp_debug |
static int | bppy_live |
gdbpy_breakpoint_object * | bppy_pending_object |
static const char | stop_func [] = "stop" |
static struct pybp_code | pybp_codes [] |
static struct pybp_code | pybp_watch_types [] |
static gdb_PyGetSetDef | breakpoint_object_getset [] |
static PyMethodDef | breakpoint_object_methods [] |
PyTypeObject | breakpoint_object_type |
static gdb_PyGetSetDef | bp_location_object_getset [] |
PyTypeObject | breakpoint_location_object_type |
#define BPLOCPY_REQUIRE_VALID | ( | Breakpoint, | |
Location | |||
) |
Definition at line 53 of file py-breakpoint.c.
#define BPLOCPY_SET_REQUIRE_VALID | ( | Breakpoint, | |
Location | |||
) |
Definition at line 62 of file py-breakpoint.c.
#define pybp_debug_printf | ( | fmt, | |
... | |||
) | debug_prefixed_printf_cond (pybp_debug, "py-breakpoint", fmt, ##__VA_ARGS__) |
Definition at line 87 of file py-breakpoint.c.
#define PYBP_SCOPED_DEBUG_ENTER_EXIT scoped_debug_enter_exit (pybp_debug, "py-breakpoint") |
Definition at line 92 of file py-breakpoint.c.
void _initialize_py_breakpoint | ( | ) |
Definition at line 1424 of file py-breakpoint.c.
Referenced by initialize_all_files().
|
static |
Definition at line 1599 of file py-breakpoint.c.
|
static |
Definition at line 1491 of file py-breakpoint.c.
References BPLOCPY_REQUIRE_VALID, BPPY_REQUIRE_VALID, and gdb_py_object_from_ulongest().
|
static |
Definition at line 1476 of file py-breakpoint.c.
References BPLOCPY_REQUIRE_VALID, and BPPY_REQUIRE_VALID.
|
static |
Definition at line 1581 of file py-breakpoint.c.
References BPLOCPY_REQUIRE_VALID, BPPY_REQUIRE_VALID, symtab::fullname, and host_string_to_python_string().
|
static |
Definition at line 1546 of file py-breakpoint.c.
References BPLOCPY_REQUIRE_VALID, BPPY_REQUIRE_VALID, and host_string_to_python_string().
|
static |
Definition at line 1503 of file py-breakpoint.c.
References BPLOCPY_REQUIRE_VALID, and BPPY_REQUIRE_VALID.
|
static |
Definition at line 1516 of file py-breakpoint.c.
References BPLOCPY_REQUIRE_VALID, BPPY_REQUIRE_VALID, gdb_py_object_from_ulongest(), and host_string_to_python_string().
|
static |
Definition at line 1558 of file py-breakpoint.c.
References all_inferiors(), BPLOCPY_REQUIRE_VALID, BPPY_REQUIRE_VALID, and gdb_py_object_from_ulongest().
|
static |
Definition at line 1439 of file py-breakpoint.c.
References BPLOCPY_SET_REQUIRE_VALID, BPPY_SET_REQUIRE_VALID, enable_disable_bp_location(), and GDB_PY_SET_HANDLE_EXCEPTION.
|
static |
Definition at line 345 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_REQUIRE_VALID, delete_breakpoint(), and GDB_PY_HANDLE_EXCEPTION.
|
static |
Definition at line 539 of file py-breakpoint.c.
References bp, gdbpy_breakpoint_object::bp, BPPY_REQUIRE_VALID, breakpoint_commands(), string_file::c_str(), breakpoint::commands, current_uiout, gdbpy_convert_exception(), host_string_to_python_string(), and print_command_lines().
|
static |
Definition at line 480 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_REQUIRE_VALID, breakpoint::cond_string, and host_string_to_python_string().
|
static |
Definition at line 150 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, bp_enabled, BPPY_REQUIRE_VALID, and breakpoint::enable_state.
|
static |
Definition at line 458 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_REQUIRE_VALID, watchpoint::exp_string, host_string_to_python_string(), and is_watchpoint().
|
static |
Definition at line 708 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_REQUIRE_VALID, gdb_py_object_from_longest(), and breakpoint::hit_count.
|
static |
Definition at line 719 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_REQUIRE_VALID, gdb_py_object_from_longest(), and breakpoint::ignore_count.
|
static |
Definition at line 440 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, bp_breakpoint, bp_hardware_breakpoint, BPPY_REQUIRE_VALID, host_string_to_python_string(), breakpoint::locspec, and breakpoint::type.
|
static |
Definition at line 731 of file py-breakpoint.c.
References BPPY_REQUIRE_VALID, breakpoint_location_object_type, and loc.
|
static |
Definition at line 669 of file py-breakpoint.c.
References BPPY_REQUIRE_VALID, gdb_py_object_from_longest(), and gdbpy_breakpoint_object::number.
|
static |
Definition at line 653 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_REQUIRE_VALID, is_watchpoint(), and pending_breakpoint_p().
|
static |
Definition at line 164 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_REQUIRE_VALID, and breakpoint::silent.
|
static |
Definition at line 694 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_REQUIRE_VALID, gdb_py_object_from_longest(), and breakpoint::task.
|
static |
Definition at line 636 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_REQUIRE_VALID, disp_del, disp_del_at_next_stop, and breakpoint::disposition.
|
static |
Definition at line 680 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_REQUIRE_VALID, gdb_py_object_from_longest(), and breakpoint::thread.
|
static |
Definition at line 608 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_REQUIRE_VALID, gdb_py_object_from_longest(), and breakpoint::type.
|
static |
Definition at line 620 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_REQUIRE_VALID, and user_breakpoint_p().
|
static |
Definition at line 818 of file py-breakpoint.c.
References AUTO_BOOLEAN_TRUE, awatch_command_wrapper(), gdbpy_breakpoint_object::bp, bp_breakpoint, bp_catchpoint, bp_hardware_breakpoint, bp_watchpoint, bppy_init_validate_args(), bppy_pending_object, BPPY_SET_REQUIRE_VALID, breakpoint_ops_for_location_spec(), create_breakpoint(), current_language, FULL, gdb_PyArg_ParseTupleAndKeywords(), gdbpy_convert_exception(), gdbpy_enter::get_gdbarch(), linespec_parse_line_offset(), gdbpy_breakpoint_object::number, python_string_to_host_string(), rwatch_command_wrapper(), string_to_location_spec(), watch_command_wrapper(), and WILD.
|
static |
Definition at line 764 of file py-breakpoint.c.
References bp_watchpoint.
Referenced by bppy_init().
|
static |
Definition at line 139 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp.
|
static |
Definition at line 568 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_SET_REQUIRE_VALID, breakpoint_set_commands(), GDB_PY_SET_HANDLE_EXCEPTION, python_string_to_host_string(), and read_command_lines_1().
|
static |
Definition at line 498 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_SET_REQUIRE_VALID, watchpoint::exp, GDB_PY_SET_HANDLE_EXCEPTION, python_string_to_host_string(), and set_breakpoint_condition().
|
static |
Definition at line 176 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_SET_REQUIRE_VALID, disable_breakpoint(), enable_breakpoint(), and GDB_PY_SET_HANDLE_EXCEPTION.
|
static |
Definition at line 406 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_SET_REQUIRE_VALID, gdb_py_int_as_long(), and breakpoint::hit_count.
|
static |
Definition at line 366 of file py-breakpoint.c.
References BPPY_SET_REQUIRE_VALID, gdb_py_int_as_long(), GDB_PY_SET_HANDLE_EXCEPTION, gdbpy_breakpoint_object::number, and set_ignore_count().
|
static |
Definition at line 218 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_SET_REQUIRE_VALID, and breakpoint_set_silent().
|
static |
Definition at line 290 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_SET_REQUIRE_VALID, breakpoint_set_task(), gdb_py_int_as_long(), GDB_PY_SET_HANDLE_EXCEPTION, and valid_task_id().
|
static |
Definition at line 249 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, BPPY_SET_REQUIRE_VALID, breakpoint_set_thread(), gdb_py_int_as_long(), and valid_global_thread_id().
|
static |
Definition at line 976 of file py-breakpoint.c.
References bp, if(), and breakpoint::py_bp_object.
Referenced by gdbpy_breakpoints().
PyTypeObject breakpoint_location_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF | ( | "breakpoint_location_object" | ) |
enum ext_lang_bp_stop gdbpy_breakpoint_cond_says_stop | ( | const struct extension_language_defn * | extlang, |
struct breakpoint * | b | ||
) |
Definition at line 1037 of file py-breakpoint.c.
References bpfinishpy_post_stop_hook(), bpfinishpy_pre_stop_hook(), EXT_LANG_BP_STOP_NO, EXT_LANG_BP_STOP_UNSET, EXT_LANG_BP_STOP_YES, breakpoint::gdbarch, gdbpy_print_stack(), gdbpy_breakpoint_object::is_finish_bp, breakpoint::py_bp_object, PyObject_CallMethod, and stop_func.
|
static |
Definition at line 1109 of file py-breakpoint.c.
References bp, gdbpy_breakpoint_object::bp, bp_access_watchpoint, bp_breakpoint, bp_catchpoint, bp_hardware_breakpoint, bp_hardware_watchpoint, bp_read_watchpoint, bp_watchpoint, bppy_live, bppy_pending_object, breakpoint_object_type, evpy_emit_event(), evregpy_no_listeners_p(), gdb_py_events, gdbpy_print_stack(), gdbpy_breakpoint_object::is_finish_bp, gdbpy_breakpoint_object::number, breakpoint::py_bp_object, pybp_debug_printf, PYBP_SCOPED_DEBUG_ENTER_EXIT, and user_breakpoint_p().
Referenced by gdbpy_initialize_breakpoints().
|
static |
Definition at line 1173 of file py-breakpoint.c.
References bp, bppy_live, evpy_emit_event(), evregpy_no_listeners_p(), gdb_py_events, breakpoint::gdbarch, gdbpy_print_stack(), get_breakpoint(), breakpoint::number, and PYBP_SCOPED_DEBUG_ENTER_EXIT.
Referenced by gdbpy_initialize_breakpoints().
int gdbpy_breakpoint_has_cond | ( | const struct extension_language_defn * | extlang, |
struct breakpoint * | b | ||
) |
Definition at line 1088 of file py-breakpoint.c.
References breakpoint::gdbarch, breakpoint::py_bp_object, and stop_func.
bool gdbpy_breakpoint_init_breakpoint_type | ( | ) |
Definition at line 993 of file py-breakpoint.c.
References breakpoint_object_type.
Referenced by gdbpy_initialize_breakpoints(), and gdbpy_initialize_finishbreakpoints().
|
static |
Definition at line 1204 of file py-breakpoint.c.
References bp, evpy_emit_event(), evregpy_no_listeners_p(), gdb_py_events, breakpoint::gdbarch, gdbpy_print_stack(), get_breakpoint(), if(), breakpoint::number, and PYBP_SCOPED_DEBUG_ENTER_EXIT.
Referenced by gdbpy_initialize_breakpoints().
PyObject * gdbpy_breakpoints | ( | PyObject * | self, |
PyObject * | args | ||
) |
Definition at line 1013 of file py-breakpoint.c.
References all_breakpoints(), bp, bppy_live, and build_bp_list().
int gdbpy_initialize_breakpoint_locations | ( | ) |
Definition at line 1273 of file py-breakpoint.c.
References breakpoint_location_object_type, gdb_module, and gdb_pymodule_addobject().
Referenced by do_start_initialization().
int gdbpy_initialize_breakpoints | ( | void | ) |
Definition at line 1233 of file py-breakpoint.c.
References gdb::observers::breakpoint_created, gdb::observers::breakpoint_deleted, gdb::observers::breakpoint_modified, breakpoint_object_type, code, gdb_module, gdb_pymodule_addobject(), gdbpy_breakpoint_created(), gdbpy_breakpoint_deleted(), gdbpy_breakpoint_init_breakpoint_type(), gdbpy_breakpoint_modified(), name, pybp_code::name, pybp_codes, and pybp_watch_types.
Referenced by do_start_initialization().
|
static |
Definition at line 1292 of file py-breakpoint.c.
References gdbpy_breakpoint_object::bp, breakpoint::cond_string, ext_lang_capitalized_name(), EXT_LANG_GDB, EXT_LANG_PYTHON, get_breakpoint_cond_ext_lang(), get_ext_lang_defn(), name, python_string_to_host_string(), and stop_func.
|
static |
Definition at line 79 of file py-breakpoint.c.
References gdb_printf().
|
static |
Definition at line 1609 of file py-breakpoint.c.
|
static |
Definition at line 96 of file py-breakpoint.c.
Referenced by gdbpy_breakpoint_created(), gdbpy_breakpoint_deleted(), and gdbpy_breakpoints().
gdbpy_breakpoint_object* bppy_pending_object |
Definition at line 100 of file py-breakpoint.c.
Referenced by bpfinishpy_init(), bppy_init(), and gdbpy_breakpoint_created().
PyTypeObject breakpoint_location_object_type |
Definition at line 1627 of file py-breakpoint.c.
Referenced by bppy_get_locations(), and gdbpy_initialize_breakpoint_locations().
|
static |
Definition at line 1326 of file py-breakpoint.c.
|
static |
Definition at line 1372 of file py-breakpoint.c.
PyTypeObject breakpoint_object_type |
Definition at line 1381 of file py-breakpoint.c.
Referenced by gdbpy_breakpoint_created(), gdbpy_breakpoint_init_breakpoint_type(), gdbpy_initialize_breakpoints(), and gdbpy_rbreak().
|
static |
Definition at line 115 of file py-breakpoint.c.
Referenced by gdbpy_initialize_breakpoints().
|
static |
Definition at line 74 of file py-breakpoint.c.
|
static |
Definition at line 129 of file py-breakpoint.c.
Referenced by gdbpy_initialize_breakpoints().
|
static |
Definition at line 103 of file py-breakpoint.c.
Referenced by gdbpy_breakpoint_cond_says_stop(), gdbpy_breakpoint_has_cond(), and local_setattro().