GDB (xrefs)
|
#include "defs.h"
#include "python-internal.h"
#include "breakpoint.h"
#include "frame.h"
#include "gdbthread.h"
#include "arch-utils.h"
#include "language.h"
#include "observable.h"
#include "inferior.h"
#include "block.h"
#include "location.h"
Go to the source code of this file.
Classes | |
struct | finish_breakpoint_object |
Functions | |
PyTypeObject finish_breakpoint_object_type | CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("finish_breakpoint_object") |
static PyObject * | bpfinishpy_get_returnvalue (PyObject *self, void *closure) |
static void | bpfinishpy_dealloc (PyObject *self) |
void | bpfinishpy_pre_stop_hook (struct gdbpy_breakpoint_object *bp_obj) |
void | bpfinishpy_post_stop_hook (struct gdbpy_breakpoint_object *bp_obj) |
static int | bpfinishpy_init (PyObject *self, PyObject *args, PyObject *kwargs) |
static void | bpfinishpy_out_of_scope (struct finish_breakpoint_object *bpfinish_obj) |
static void | bpfinishpy_detect_out_scope_cb (struct breakpoint *b, struct breakpoint *bp_stopped) |
static void | bpfinishpy_handle_stop (struct bpstat *bs, int print_frame) |
static void | bpfinishpy_handle_exit (struct inferior *inf) |
int | gdbpy_initialize_finishbreakpoints (void) |
Variables | |
static const char | outofscope_func [] = "out_of_scope" |
static gdb_PyGetSetDef | finish_breakpoint_object_getset [] |
PyTypeObject | finish_breakpoint_object_type |
|
static |
Definition at line 82 of file py-finishbreakpoint.c.
References finish_breakpoint_object::func_symbol, finish_breakpoint_object::function_value, and finish_breakpoint_object::return_value.
|
static |
Definition at line 346 of file py-finishbreakpoint.c.
References bpfinishpy_out_of_scope(), current_inferior(), frame_find_by_id(), breakpoint::frame_id, gdbpy_convert_exception(), gdbpy_print_stack(), gdbpy_breakpoint_object::is_finish_bp, breakpoint::pspace, inferior::pspace, finish_breakpoint_object::py_bp, breakpoint::py_bp_object, and target_has_registers().
Referenced by bpfinishpy_handle_exit(), and bpfinishpy_handle_stop().
Definition at line 67 of file py-finishbreakpoint.c.
References finish_breakpoint_object::return_value.
|
static |
Definition at line 393 of file py-finishbreakpoint.c.
References all_breakpoints_safe(), bp, bpfinishpy_detect_out_scope_cb(), and target_gdbarch().
Referenced by gdbpy_initialize_finishbreakpoints().
|
static |
Definition at line 381 of file py-finishbreakpoint.c.
References all_breakpoints_safe(), bp, bpfinishpy_detect_out_scope_cb(), and bpstat::breakpoint_at.
Referenced by gdbpy_initialize_finishbreakpoints().
Definition at line 160 of file py-finishbreakpoint.c.
References AUTO_BOOLEAN_TRUE, gdbpy_breakpoint_object::bp, bp_breakpoint, bppy_pending_object, check_typedef(), type::code(), code_breakpoint_ops, create_breakpoint(), current_program_space, DUMMY_FRAME, find_pc_function(), breakpoint::frame_id, frame_object_to_frame_info(), finish_breakpoint_object::func_symbol, finish_breakpoint_object::function_value, GDB_PY_SET_HANDLE_EXCEPTION, gdb_PyArg_ParseTupleAndKeywords(), gdbpy_convert_exception(), get_current_frame(), get_frame_id(), get_frame_pc(), get_frame_pc_if_available(), get_frame_type(), gdbpy_enter::get_gdbarch(), get_prev_frame(), thread_info::global_num, inferior_ptid, inferior_thread(), gdbpy_breakpoint_object::is_finish_bp, new_address_location_spec(), gdbpy_breakpoint_object::number, breakpoint::pspace, finish_breakpoint_object::py_bp, read_var_value(), symbol_to_symbol_object(), type::target_type(), symbol::type(), and value_to_value_object().
|
static |
Definition at line 325 of file py-finishbreakpoint.c.
References gdbpy_breakpoint_object::bp, bp_enabled, delete_breakpoint(), breakpoint::enable_state, gdbpy_print_stack(), outofscope_func, finish_breakpoint_object::py_bp, and PyObject_CallMethod.
Referenced by bpfinishpy_detect_out_scope_cb().
void bpfinishpy_post_stop_hook | ( | struct gdbpy_breakpoint_object * | bp_obj | ) |
Definition at line 141 of file py-finishbreakpoint.c.
References gdbpy_breakpoint_object::bp, disable_breakpoint(), disp_del_at_next_stop, breakpoint::disposition, gdbpy_convert_exception(), and gdbpy_print_stack().
Referenced by gdbpy_breakpoint_cond_says_stop().
void bpfinishpy_pre_stop_hook | ( | struct gdbpy_breakpoint_object * | bp_obj | ) |
Definition at line 98 of file py-finishbreakpoint.c.
References finish_breakpoint_object::func_symbol, finish_breakpoint_object::function_value, gdbpy_convert_exception(), gdbpy_print_stack(), get_return_value(), finish_breakpoint_object::return_value, symbol_object_to_symbol(), value_object_to_value(), and value_to_value_object().
Referenced by gdbpy_breakpoint_cond_says_stop().
PyTypeObject finish_breakpoint_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF | ( | "finish_breakpoint_object" | ) |
int gdbpy_initialize_finishbreakpoints | ( | void | ) |
Definition at line 404 of file py-finishbreakpoint.c.
References bpfinishpy_handle_exit(), bpfinishpy_handle_stop(), finish_breakpoint_object_type, gdb_module, gdb_pymodule_addobject(), gdbpy_breakpoint_init_breakpoint_type(), gdb::observers::inferior_exit, and gdb::observers::normal_stop.
|
static |
Definition at line 424 of file py-finishbreakpoint.c.
PyTypeObject finish_breakpoint_object_type |
Definition at line 431 of file py-finishbreakpoint.c.
Referenced by gdbpy_initialize_finishbreakpoints().
|
static |
Definition at line 35 of file py-finishbreakpoint.c.
Referenced by bpfinishpy_out_of_scope().