GDB (xrefs)
|
#include "defs.h"
#include "breakpoint.h"
#include "inline-frame.h"
#include "addrmap.h"
#include "block.h"
#include "frame-unwind.h"
#include "inferior.h"
#include "gdbthread.h"
#include "regcache.h"
#include "symtab.h"
#include "frame.h"
#include <algorithm>
Go to the source code of this file.
Classes | |
struct | inline_state |
Functions | |
static struct inline_state * | find_inline_frame_state (thread_info *thread) |
void | clear_inline_frame_state (process_stratum_target *target, ptid_t filter_ptid) |
void | clear_inline_frame_state (thread_info *thread) |
static void | inline_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) |
static struct value * | inline_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) |
static int | inline_frame_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_cache) |
static int | block_starting_point_at (CORE_ADDR pc, const struct block *block) |
static bool | stopped_by_user_bp_inline_frame (const block *frame_block, bpstat *stop_chain) |
void | skip_inline_frames (thread_info *thread, bpstat *stop_chain) |
void | step_into_inline_frame (thread_info *thread) |
int | inline_skipped_frames (thread_info *thread) |
struct symbol * | inline_skipped_symbol (thread_info *thread) |
int | frame_inlined_callees (frame_info_ptr this_frame) |
Variables | |
static std::vector< inline_state > | inline_states |
const struct frame_unwind | inline_frame_unwind |
|
static |
Definition at line 283 of file inline-frame.c.
References blockvector_for_pc(), block::contains(), addrmap::find(), blockvector::map(), and new_block().
Referenced by skip_inline_frames().
void clear_inline_frame_state | ( | process_stratum_target * | target, |
ptid_t | filter_ptid ) |
Definition at line 101 of file inline-frame.c.
References thread_info::inf, inline_states, inferior::process_target(), and thread_info::ptid.
Referenced by clear_thread_inferior_resources(), infrun_thread_stop_requested(), and target_resume().
void clear_inline_frame_state | ( | thread_info * | thread | ) |
Definition at line 140 of file inline-frame.c.
References inline_states.
|
static |
Definition at line 71 of file inline-frame.c.
References get_thread_regcache(), inline_states, regcache_read_pc(), inline_state::saved_pc, and inline_state::thread.
Referenced by inline_frame_sniffer(), inline_skipped_frames(), inline_skipped_symbol(), skip_inline_frames(), and step_into_inline_frame().
int frame_inlined_callees | ( | frame_info_ptr | this_frame | ) |
Definition at line 444 of file inline-frame.c.
References get_frame_type(), get_next_frame(), inferior_thread(), INLINE_FRAME, and inline_skipped_frames().
Referenced by find_frame_sal(), and get_frame_block().
|
static |
Definition at line 189 of file inline-frame.c.
References get_frame_register_value(), and regnum.
|
static |
Definition at line 210 of file inline-frame.c.
References block_for_pc(), find_inline_frame_state(), block::function(), get_frame_address_in_block(), get_frame_type(), get_next_frame(), inferior_thread(), INLINE_FRAME, block::inlined_p(), inline_state::skipped_frames, and block::superblock().
|
static |
Definition at line 153 of file inline-frame.c.
References frame_id_p(), func, get_frame_function(), get_frame_id(), and get_prev_frame_always().
int inline_skipped_frames | ( | thread_info * | thread | ) |
Definition at line 410 of file inline-frame.c.
References find_inline_frame_state(), and inline_state::skipped_frames.
Referenced by frame_inlined_callees(), frame_show_address(), prepare_one_step(), and process_event_stop_test().
struct symbol * inline_skipped_symbol | ( | thread_info * | thread | ) |
Definition at line 424 of file inline-frame.c.
References find_inline_frame_state(), inline_state::skipped_frames, and inline_state::skipped_symbols.
Referenced by find_frame_sal(), and prepare_one_step().
void skip_inline_frames | ( | thread_info * | thread, |
bpstat * | stop_chain ) |
Definition at line 343 of file inline-frame.c.
References block_for_pc(), block_starting_point_at(), block::entry_pc(), find_inline_frame_state(), block::function(), get_current_frame(), get_frame_pc(), inline_states, block::inlined_p(), reinit_frame_cache(), stopped_by_user_bp_inline_frame(), and block::superblock().
Referenced by handle_signal_stop().
void step_into_inline_frame | ( | thread_info * | thread | ) |
Definition at line 397 of file inline-frame.c.
References find_inline_frame_state(), reinit_frame_cache(), and inline_state::skipped_frames.
Referenced by prepare_one_step(), and process_event_stop_test().
|
static |
Definition at line 310 of file inline-frame.c.
References bp_loc_hardware_breakpoint, bp_loc_software_breakpoint, bp_until, loc, bp_location::loc_type, bpstat::next, breakpoint::type, and user_breakpoint_p().
Referenced by skip_inline_frames().
const struct frame_unwind inline_frame_unwind |
Definition at line 268 of file inline-frame.c.
Referenced by get_frame_unwind_table().
|
static |
Definition at line 65 of file inline-frame.c.
Referenced by clear_inline_frame_state(), clear_inline_frame_state(), find_inline_frame_state(), and skip_inline_frames().