GDB (xrefs)
|
#include "defs.h"
#include "displaced-stepping.h"
#include "infrun.h"
#include <ctype.h>
#include "symtab.h"
#include "frame.h"
#include "inferior.h"
#include "breakpoint.h"
#include "gdbcore.h"
#include "gdbcmd.h"
#include "target.h"
#include "target-connection.h"
#include "gdbthread.h"
#include "annotate.h"
#include "symfile.h"
#include "top.h"
#include "ui.h"
#include "inf-loop.h"
#include "regcache.h"
#include "value.h"
#include "observable.h"
#include "language.h"
#include "solib.h"
#include "main.h"
#include "block.h"
#include "mi/mi-common.h"
#include "event-top.h"
#include "record.h"
#include "record-full.h"
#include "inline-frame.h"
#include "jit.h"
#include "tracepoint.h"
#include "skip.h"
#include "probe.h"
#include "objfiles.h"
#include "completer.h"
#include "target-descriptions.h"
#include "target-dcache.h"
#include "terminal.h"
#include "solist.h"
#include "gdbsupport/event-loop.h"
#include "thread-fsm.h"
#include "gdbsupport/enum-flags.h"
#include "progspace-and-thread.h"
#include "gdbsupport/gdb_optional.h"
#include "arch-utils.h"
#include "gdbsupport/scope-exit.h"
#include "gdbsupport/forward-scope-exit.h"
#include "gdbsupport/gdb_select.h"
#include <unordered_map>
#include "async-event.h"
#include "gdbsupport/selftest.h"
#include "scoped-mock-context.h"
#include "test-target.h"
#include "gdbsupport/common-debug.h"
#include "gdbsupport/buildargv.h"
#include "extension.h"
#include "disasm.h"
#include "interps.h"
Go to the source code of this file.
Classes | |
struct | step_over_info |
struct | execution_control_state |
struct | wait_one_event |
struct | stop_context |
class | infcall_suspend_state |
struct | infcall_control_state |
struct | infcall_control_state::selected_frame_id |
Macros | |
#define | SET_SIGS(nsigs, sigs, flags) |
#define | UNSET_SIGS(nsigs, sigs, flags) |
#define | RESUME_ALL minus_one_ptid |
Typedefs | |
using | displaced_step_reset_cleanup = FORWARD_SCOPE_EXIT (displaced_step_reset) |
typedef void(* | for_each_just_stopped_thread_callback_func) (struct thread_info *tp) |
Enumerations | |
enum | step_over_what_flag { STEP_OVER_BREAKPOINT = 1 , STEP_OVER_WATCHPOINT = 2 } |
Variables | |
static struct async_event_handler * | infrun_async_inferior_event_token |
static int | infrun_is_async = -1 |
bool | step_stop_if_no_debug = false |
static thread_info_ref | previous_thread |
static bool | detach_fork = true |
bool | debug_infrun = false |
bool | disable_randomization = true |
bool | non_stop = false |
static bool | non_stop_1 = false |
static bool | observer_mode = false |
static bool | observer_mode_1 = false |
static unsigned char | signal_stop [GDB_SIGNAL_LAST] |
static unsigned char | signal_print [GDB_SIGNAL_LAST] |
static unsigned char | signal_program [GDB_SIGNAL_LAST] |
static unsigned char | signal_catch [GDB_SIGNAL_LAST] |
static unsigned char | signal_pass [GDB_SIGNAL_LAST] |
static struct cmd_list_element * | stop_command |
int | stop_on_solib_events |
static bool | stop_print_frame |
static process_stratum_target * | target_last_proc_target |
static ptid_t | target_last_wait_ptid |
static struct target_waitstatus | target_last_waitstatus |
static const char | follow_fork_mode_child [] = "child" |
static const char | follow_fork_mode_parent [] = "parent" |
static const char *const | follow_fork_mode_kind_names [] |
static const char * | follow_fork_mode_string = follow_fork_mode_parent |
static const char | follow_exec_mode_new [] = "new" |
static const char | follow_exec_mode_same [] = "same" |
static const char *const | follow_exec_mode_names [] |
static const char * | follow_exec_mode_string = follow_exec_mode_same |
thread_step_over_list | global_thread_step_over_list |
static struct step_over_info | step_over_info |
static enum auto_boolean | can_use_displaced_stepping = AUTO_BOOLEAN_AUTO |
static const char | schedlock_off [] = "off" |
static const char | schedlock_on [] = "on" |
static const char | schedlock_step [] = "step" |
static const char | schedlock_replay [] = "replay" |
static const char *const | scheduler_enums [] |
static const char * | scheduler_mode = schedlock_replay |
bool | sched_multi = false |
static ULONGEST | current_stop_id |
static bool | enable_commit_resumed = true |
static const struct lval_funcs | siginfo_value_funcs |
enum exec_direction_kind | execution_direction = EXEC_FORWARD |
static const char | exec_forward [] = "forward" |
static const char | exec_reverse [] = "reverse" |
static const char * | exec_direction = exec_forward |
static const char *const | exec_direction_names [] |
static const struct internalvar_funcs | siginfo_funcs |
#define RESUME_ALL minus_one_ptid |
Definition at line 367 of file infrun.c.
Referenced by user_visible_resume_ptid().
#define SET_SIGS | ( | nsigs, | |
sigs, | |||
flags ) |
Definition at line 340 of file infrun.c.
Referenced by handle_command().
#define UNSET_SIGS | ( | nsigs, | |
sigs, | |||
flags ) |
Definition at line 348 of file infrun.c.
Referenced by handle_command().
using displaced_step_reset_cleanup = FORWARD_SCOPE_EXIT (displaced_step_reset) |
typedef void(* for_each_just_stopped_thread_callback_func) (struct thread_info *tp) |
enum step_over_what_flag |
void _initialize_infrun | ( | ) |
Definition at line 9916 of file infrun.c.
Referenced by initialize_all_files().
|
static |
Definition at line 4665 of file infrun.c.
References reg_buffer::arch(), regcache::aspace(), currently_stepping(), EXEC_REVERSE, execution_direction, gdbarch_decr_pc_after_break(), get_thread_regcache(), target_waitstatus::kind(), moribund_breakpoint_here_p(), thread_info::prev_pc, record_full_gdb_operation_disable_set(), record_full_is_used(), reg_buffer::regcache, regcache_read_pc(), regcache_write_pc(), target_waitstatus::sig, software_breakpoint_inserted_here_p(), thread_info::stepped_breakpoint, target_is_non_stop_p(), target_supports_stopped_by_sw_breakpoint(), TARGET_WAITKIND_STOPPED, and thread_has_single_step_breakpoints_set().
Referenced by handle_inferior_event(), and save_waitstatus().
void all_uis_check_sync_execution_done | ( | void | ) |
Definition at line 4293 of file infrun.c.
References check_curr_ui_sync_execution_done(), and SWITCH_THRU_ALL_UIS.
Referenced by fetch_inferior_event(), and step_1().
void all_uis_on_sync_execution_starting | ( | void | ) |
Definition at line 4304 of file infrun.c.
References async_disable_stdin(), current_ui, PROMPT_NEEDED, ui::prompt_state, and SWITCH_THRU_ALL_UIS.
Referenced by prepare_execution_command().
|
static |
Definition at line 4276 of file infrun.c.
References ui::async, current_ui, gdb_in_secondary_prompt_p(), interp::on_sync_execution_done(), target_terminal::ours(), PROMPT_NEEDED, ui::prompt_state, ui::register_file_handler(), and top_level_interpreter().
Referenced by all_uis_check_sync_execution_done().
|
static |
Definition at line 8373 of file infrun.c.
References execution_control_state::event_thread, find_probe_by_pc(), func, get_frame_function(), get_frame_pc(), insert_exception_resume_breakpoint(), and insert_exception_resume_from_probe().
Referenced by process_event_stop_test().
|
static |
Definition at line 3242 of file infrun.c.
References all_non_exited_inferiors(), process_stratum_target::connection_number, current_inferior(), make_target_connection_string(), non_stop, inferior::process_target(), switch_to_inferior_no_thread(), target_has_execution(), and target_is_non_stop_p().
Referenced by proceed().
|
static |
Definition at line 4244 of file infrun.c.
References all_non_exited_threads(), thread_fsm::clean_up(), execution_control_state::event_thread, inferior_thread(), non_stop, switch_to_thread(), and thread_info::thread_fsm().
Referenced by fetch_inferior_event().
void clear_exit_convenience_vars | ( | void | ) |
Definition at line 9757 of file infrun.c.
References clear_internalvar(), and lookup_internalvar().
Referenced by core_target_open(), and handle_inferior_event().
void clear_proceed_status | ( | int | step | ) |
Definition at line 2924 of file infrun.c.
References all_non_exited_threads(), clear_proceed_status_thread(), inferior::control, current_inferior(), execution_direction, inferior::inferior(), inferior_ptid, inferior_thread(), NO_STOP_QUIETLY, non_stop, notify_about_to_proceed(), schedlock_replay, scheduler_mode, inferior_control_state::stop_soon, target_record_is_replaying(), target_record_stop_replaying(), target_record_will_replay(), user_visible_resume_ptid(), and user_visible_resume_target().
Referenced by attach_post_wait(), continue_1(), go32_nat_target::create_inferior(), gdbsim_target::create_inferior(), windows_nat_target::do_initial_windows_stuff(), finish_command(), init_wait_for_inferior(), jump_command(), proceed_after_attach(), proceed_after_vfork_done(), proceed_thread(), proceed_thread_callback(), run_inferior_call(), signal_command(), step_1(), until_break_command(), and until_next_command().
|
static |
Definition at line 2859 of file infrun.c.
References bpstat_clear(), thread_info::clear_pending_waitstatus(), thread_info::control, currently_stepping(), thread_info::has_pending_waitstatus(), infrun_debug_printf, thread_control_state::may_range_step, null_frame_id, thread_info::pending_waitstatus(), thread_control_state::proceed_to_finish, thread_info::ptid, thread_info::release_thread_fsm(), thread_info::set_stop_reason(), thread_info::set_stop_signal(), signal_pass_state(), thread_control_state::step_over_calls, STEP_OVER_UNDEBUGGABLE, thread_control_state::step_range_end, thread_control_state::step_range_start, thread_control_state::step_start_function, thread_control_state::stepping_command, thread_control_state::stop_bpstat, thread_info::stop_reason(), thread_info::stop_requested, thread_info::stop_signal(), thread_control_state::stop_step, TARGET_STOPPED_BY_NO_REASON, TARGET_STOPPED_BY_SINGLE_STEP, target_waitstatus::to_string(), and thread_control_state::trap_expected.
Referenced by clear_proceed_status().
|
static |
Definition at line 1474 of file infrun.c.
References step_over_info::address, step_over_info::aspace, infrun_debug_printf, step_over_info::nonsteppable_watchpoint_p, and step_over_info::thread.
Referenced by finish_step_over(), handle_signal_stop(), infrun_inferior_execd(), keep_going_pass_signal(), keep_going_stepped_thread(), prepare_for_detach(), and resume_1().
|
static |
Definition at line 4645 of file infrun.c.
References execution_control_state::event_thread, inferior_ptid, inferior_thread(), infrun_debug_printf, execution_control_state::ptid, and switch_to_thread().
Referenced by finish_step_over(), handle_inferior_event(), handle_signal_stop(), and handle_syscall_event().
|
static |
Definition at line 8057 of file infrun.c.
References bpstat_should_step(), thread_info::control, thread_control_state::step_range_end, thread_control_state::step_resume_breakpoint, thread_info::stepped_breakpoint, and thread_control_state::trap_expected.
Referenced by adjust_pc_after_break(), clear_proceed_status_thread(), finish_step_over(), handle_one(), handle_signal_stop(), restart_threads(), resume_1(), and save_waitstatus().
DEF_ENUM_FLAGS_TYPE | ( | enum | step_over_what_flag, |
step_over_what | ) |
|
static |
Definition at line 3766 of file infrun.c.
References delete_thread_infrun_breakpoints(), and for_each_just_stopped_thread().
Referenced by fetch_inferior_event(), and wait_for_inferior().
|
static |
Definition at line 3775 of file infrun.c.
References delete_single_step_breakpoints(), and for_each_just_stopped_thread().
Referenced by handle_inferior_event(), and handle_signal_stop().
|
static |
Definition at line 3729 of file infrun.c.
References delete_exception_resume_breakpoint(), delete_single_step_breakpoints(), and delete_step_resume_breakpoint().
Referenced by delete_just_stopped_threads_infrun_breakpoints().
void discard_infcall_control_state | ( | struct infcall_control_state * | inf_status | ) |
Definition at line 9738 of file infrun.c.
References bpstat_clear(), disp_del_at_next_stop, breakpoint::disposition, thread_control_state::exception_resume_breakpoint, thread_control_state::step_resume_breakpoint, thread_control_state::stop_bpstat, and infcall_control_state::thread_control.
Referenced by call_function_by_hand_dummy().
void discard_infcall_suspend_state | ( | struct infcall_suspend_state * | inf_state | ) |
Definition at line 9641 of file infrun.c.
Referenced by remove_dummy_frame(), and restore_infcall_suspend_state().
|
static |
Definition at line 1969 of file infrun.c.
References DISPLACED_STEP_FINISH_STATUS_OK, thread_info::displaced_step_state, inferior::displaced_step_state, gdbarch_displaced_step_finish(), displaced_step_thread_state::get_original_gdbarch(), displaced_step_thread_state::in_progress(), displaced_step_inferior_state::in_progress_count, thread_info::inf, and switch_to_thread().
Referenced by finish_step_over(), handle_inferior_event(), handle_one(), and set_gdbarch_displaced_step_finish().
|
static |
Definition at line 1621 of file infrun.c.
Referenced by displaced_step_in_progress_any_thread(), do_target_resume(), and prepare_for_detach().
|
static |
Definition at line 1629 of file infrun.c.
References all_non_exited_inferiors(), and displaced_step_in_progress().
Referenced by start_step_over().
|
static |
Definition at line 1611 of file infrun.c.
References step_over_info::thread.
Referenced by handle_inferior_event().
|
static |
Definition at line 1926 of file infrun.c.
References AUTO_BOOLEAN_TRUE, can_use_displaced_stepping, DISPLACED_STEP_PREPARE_STATUS_CANT, displaced_step_prepare_throw(), inferior::displaced_step_state, displaced_step_inferior_state::failed_before, thread_info::inf, infrun_debug_printf, and status.
Referenced by resume_1(), and set_gdbarch_displaced_step_prepare().
|
static |
Definition at line 1770 of file infrun.c.
References reg_buffer::arch(), thread_info::control, debug_displaced, displaced_debug_printf, DISPLACED_STEP_PREPARE_STATUS_CANT, DISPLACED_STEP_PREPARE_STATUS_OK, DISPLACED_STEP_PREPARE_STATUS_UNAVAILABLE, thread_info::displaced_step_state, inferior::displaced_step_state, gdb_print_insn(), gdbarch_displaced_step_buffer_length(), gdbarch_displaced_step_hw_singlestep(), gdbarch_displaced_step_prepare(), gdbarch_supports_displaced_stepping(), get_thread_regcache(), global_thread_step_over_chain_enqueue(), displaced_step_thread_state::in_progress(), displaced_step_inferior_state::in_progress_count, thread_info::inf, thread_control_state::may_range_step, paddress(), thread_info::ptid, read_memory(), regcache_read_pc(), string_file::release(), displaced_step_thread_state::set(), status, string_file::string(), switch_to_thread(), thread_control_state::trap_expected, and displaced_step_inferior_state::unavailable.
Referenced by displaced_step_prepare().
|
static |
Definition at line 1741 of file infrun.c.
References displaced_step_thread_state::reset().
|
static |
Definition at line 2403 of file infrun.c.
References displaced_step_in_progress(), thread_info::inf, target_terminal::inferior(), inferior_thread(), infrun_debug_printf, thread_info::set_stop_signal(), signal_pass, step_over_info_valid_p(), thread_info::stop_requested, target_pass_signals(), and target_resume().
Referenced by keep_going_stepped_thread(), and resume_1().
|
static |
Definition at line 3949 of file infrun.c.
References all_inferiors(), do_target_wait_1(), inferior_list, infrun_debug_printf, target_waitstatus::kind(), execution_control_state::ptid, target_waitstatus::set_ignore(), execution_control_state::target, TARGET_WAITKIND_IGNORE, and execution_control_state::ws.
Referenced by fetch_inferior_event().
|
static |
Definition at line 3824 of file infrun.c.
References reg_buffer::arch(), regcache::aspace(), breakpoint_inserted_here_p(), thread_info::clear_pending_waitstatus(), gdbarch_decr_pc_after_break(), get_thread_regcache(), thread_info::has_pending_waitstatus(), infrun_async_inferior_event_token, infrun_debug_printf, mark_async_event_handler(), paddress(), thread_info::pending_waitstatus(), thread_info::ptid, random_pending_event_thread(), reg_buffer::regcache, regcache_read_pc(), regcache_write_pc(), thread_info::set_pending_waitstatus(), target_waitstatus::set_spurious(), thread_info::set_stop_reason(), status, thread_info::stop_pc(), thread_info::stop_reason(), switch_to_inferior_no_thread(), target_can_async_p(), target_is_async_p(), TARGET_STOPPED_BY_HW_BREAKPOINT, TARGET_STOPPED_BY_NO_REASON, TARGET_STOPPED_BY_SW_BREAKPOINT, target_supports_stopped_by_sw_breakpoint(), target_wait(), and target_waitstatus::to_string().
Referenced by do_target_wait(), prepare_for_detach(), and wait_for_inferior().
|
static |
Definition at line 8602 of file infrun.c.
References thread_info::control, execution_control_state::event_thread, thread_control_state::stop_step, and stop_waiting().
Referenced by handle_step_into_function(), handle_step_into_function_backward(), and process_event_stop_test().
void fetch_inferior_event | ( | ) |
Definition at line 4361 of file infrun.c.
References all_uis_check_sync_execution_done(), bpstat_clear_actions(), clean_up_just_stopped_threads_fsms(), current_ui, debug_infrun, delete_just_stopped_threads_infrun_breakpoints(), do_target_wait(), scoped_restore_current_thread::dont_restore(), execution_control_state::event_thread, exec_done_display_p, execution_direction, find_inferior_ptid(), gdb_printf(), get_stop_id(), handle_inferior_event(), INF_EXEC_COMPLETE, inferior_event_handler(), inferior_ptid, inferior_thread(), infrun_debug_printf, infrun_quit_handler(), INFRUN_SCOPED_DEBUG_ENTER_EXIT, keep_going(), target_waitstatus::kind(), main_ui, NO_STOP_QUIETLY, non_stop, normal_stop(), overlay_cache_invalid, pagination_enabled, print_target_wait_results(), PROMPT_NEEDED, ui::prompt_state, prune_inferiors(), execution_control_state::ptid, quit_handler, reinstall_readline_callback_handler_cleanup(), scoped_disable_commit_resumed::reset_and_commit(), set_current_traceframe(), thread_fsm::should_notify_stop(), thread_fsm::should_stop(), stop_all_threads_if_all_stop_mode(), switch_to_inferior_no_thread(), switch_to_target_no_thread(), execution_control_state::target, target_dcache_invalidate(), target_execution_direction(), target_is_non_stop_p(), TARGET_WAITKIND_IGNORE, TARGET_WAITKIND_NO_RESUMED, TARGET_WNOHANG, thread_info::thread_fsm(), THREAD_RUNNING, execution_control_state::wait_some_more, and execution_control_state::ws.
Referenced by inferior_event_handler().
|
static |
Definition at line 4927 of file infrun.c.
References block::entry_pc(), execution_control_state::event_thread, find_pc_partial_function_sym(), gdbarch_deprecated_function_start_offset(), gdbarch_skip_entrypoint(), gdbarch_skip_entrypoint_p(), nullptr, general_symbol_info::print_name(), execution_control_state::stop_func_alt_start, execution_control_state::stop_func_end, execution_control_state::stop_func_filled_in, execution_control_state::stop_func_name, execution_control_state::stop_func_start, and thread_info::stop_pc().
Referenced by handle_step_into_function(), handle_step_into_function_backward(), and process_event_stop_test().
|
static |
Definition at line 2324 of file infrun.c.
References all_non_exited_inferiors(), cur_inf(), current_inferior(), sched_multi, and target_is_non_stop_p().
Referenced by internal_resume_ptid().
|
static |
Definition at line 6254 of file infrun.c.
References clear_step_over_info(), context_switch(), thread_info::control, currently_stepping(), displaced_step_finish(), execution_control_state::event_thread, thread_info::executing(), get_thread_regcache(), infrun_async_inferior_event_token, infrun_debug_printf, insert_breakpoints(), iterate_over_threads(), mark_async_event_handler(), paddress(), prepare_to_wait(), thread_info::ptid, reg_buffer::regcache, regcache_read_pc(), restart_threads(), resumed_thread_with_pending_status(), save_waitstatus(), thread_info::set_resumed(), thread_info::set_stop_pc(), start_step_over(), step_over_info_valid_p(), thread_info::stepping_over_breakpoint, thread_info::stepping_over_watchpoint, thread_info::stop_pc(), target_gdbarch(), target_is_non_stop_p(), thread_control_state::trap_expected, and execution_control_state::ws.
Referenced by handle_signal_stop().
|
static |
Definition at line 1212 of file infrun.c.
References add_inferior_with_spaces(), all_threads_safe(), breakpoint_init_inferior(), breakpoint_re_set(), thread_info::control, current_inferior(), current_program_space, delete_thread(), thread_control_state::exception_resume_breakpoint, exec_file_find(), exit_inferior(), follow_exec_mode_new, follow_exec_mode_string, gdb_printf(), inf_execd, gdb::observers::inferior_execd, inferior_thread(), insert_breakpoints(), mark_breakpoints_out(), no_shared_libraries(), target_terminal::ours_for_output(), pid, inferior::pid, inferior::pspace, thread_control_state::single_step_breakpoints, thread_control_state::step_range_end, thread_control_state::step_range_start, thread_control_state::step_resume_breakpoint, thread_info::stop_requested, swap_terminal_info(), SYMFILE_DEFER_BP_RESET, target_clear_description(), target_find_description(), target_follow_exec(), target_pid_to_str(), try_open_exec_file(), and update_breakpoints_after_exec().
Referenced by handle_inferior_event().
|
static |
Definition at line 740 of file infrun.c.
References all_non_exited_threads(), target_waitstatus::child_ptid, clone_momentary_breakpoint(), thread_info::control, thread_info::current_line, thread_info::current_symtab, delete_exception_resume_breakpoint(), delete_step_resume_breakpoint(), detach_fork, thread_control_state::exception_resume_breakpoint, process_stratum_target::find_thread(), follow_fork_inferior(), follow_fork_mode_child, follow_fork_mode_string, follow_inferior_reset_breakpoints(), thread_info::inf, inferior_ptid, inferior_thread(), infrun_debug_printf, INFRUN_SCOPED_DEBUG_ENTER_EXIT, target_waitstatus::kind(), non_stop, null_frame_id, thread_info::pending_follow, inferior::process_target(), thread_info::release_thread_fsm(), set_last_target_status_stopped(), thread_info::set_thread_fsm(), thread_control_state::step_range_end, thread_control_state::step_range_start, thread_control_state::step_resume_breakpoint, thread_control_state::stepping_command, stop_all_threads(), switch_to_thread(), target_is_non_stop_p(), TARGET_WAITKIND_FORKED, TARGET_WAITKIND_SPURIOUS, TARGET_WAITKIND_VFORKED, user_visible_resume_ptid(), and user_visible_resume_target().
Referenced by handle_inferior_event(), and proceed().
|
static |
Definition at line 436 of file infrun.c.
References add_inferior(), inferior::aspace, inferior::attach_flag, program_space::breakpoints_not_allowed, target_waitstatus::child_ptid, clone_program_space(), copy_terminal_info(), current_inferior(), current_ui, detach_fork, exec_on_vfork(), inferior::find_thread(), gdb_printf(), gdb_stderr, inferior::gdbarch, gdb::observers::inferior_forked, inferior_ptid, inferior_thread(), infrun_debug_printf, INFRUN_SCOPED_DEBUG_ENTER_EXIT, target_waitstatus::kind(), non_stop, target_terminal::ours_for_output(), inferior::pending_detach, thread_info::pending_follow, post_create_inferior(), print_inferior_events, PROMPT_BLOCKED, ui::prompt_state, inferior::pspace, thread_info::ptid, inferior::removable, remove_breakpoints_inf(), sched_multi, set_current_program_space(), target_waitstatus::set_spurious(), switch_to_thread(), inferior::symfile_flags, SYMFILE_NO_READ, target_detach(), target_follow_fork(), target_pid_to_str(), TARGET_WAITKIND_FORKED, TARGET_WAITKIND_VFORKED, inferior::tdesc_info, inferior::thread_list, inferior::thread_waiting_for_vfork_done, inferior::threads(), inferior::vfork_child, and inferior::vfork_parent.
Referenced by follow_fork().
|
static |
Definition at line 948 of file infrun.c.
References breakpoint_re_set(), breakpoint_re_set_thread(), thread_info::control, bp_location::enabled, thread_control_state::exception_resume_breakpoint, breakpoint::first_loc(), inferior_thread(), insert_breakpoints(), and thread_control_state::step_resume_breakpoint.
Referenced by follow_fork().
|
static |
Definition at line 3744 of file infrun.c.
References all_non_exited_threads(), func, inferior_ptid, inferior_thread(), target_has_execution(), and target_is_non_stop_p().
Referenced by delete_just_stopped_threads_infrun_breakpoints(), and delete_just_stopped_threads_single_step_breakpoints().
enum gdb_signal gdb_signal_from_command | ( | int | num | ) |
Definition at line 9381 of file infrun.c.
Referenced by catch_signal_split_args(), handle_command(), info_signals_command(), queue_signal_command(), and signal_command().
|
static |
Definition at line 1696 of file infrun.c.
References gdbarch_displaced_step_prepare_p().
Referenced by displaced_step_prepare_throw(), handle_inferior_event(), and use_displaced_stepping().
readonly_detached_regcache * get_infcall_suspend_state_regcache | ( | struct infcall_suspend_state * | inf_state | ) |
Definition at line 9647 of file infrun.c.
References infcall_suspend_state::registers().
Referenced by dummy_frame_sniffer().
|
static |
Definition at line 4977 of file infrun.c.
References find_inferior_ptid(), execution_control_state::ptid, and execution_control_state::target.
Referenced by handle_inferior_event(), and handle_signal_stop().
void get_last_target_status | ( | process_stratum_target ** | target, |
ptid_t * | ptid, | ||
target_waitstatus * | status ) |
Definition at line 4621 of file infrun.c.
References status, target_last_proc_target, target_last_wait_ptid, and target_last_waitstatus.
Referenced by checkpoint_command(), continue_command(), get_detach_signal(), normal_stop(), signal_catchpoint::print_it(), syscall_catchpoint::print_it(), print_stop_event(), and proc_set_current_signal().
thread_info * get_previous_thread | ( | ) |
Definition at line 175 of file infrun.c.
References previous_thread.
Referenced by info_program_command().
ULONGEST get_stop_id | ( | void | ) |
Definition at line 2842 of file infrun.c.
References current_stop_id.
Referenced by stop_context::changed(), fetch_inferior_event(), and stop_context::stop_context().
|
static |
Definition at line 9190 of file infrun.c.
References error_no_arg(), gdb_printf(), gdb_signal_from_command(), query(), SET_SIGS, sig_print_header(), sig_print_info(), signal_cache_update(), signal_pass, signal_print, signal_program, signal_stop, target_pass_signals(), target_program_signals(), and UNSET_SIGS.
|
static |
Definition at line 9358 of file infrun.c.
References complete_on_enum(), and signal_completer().
|
static |
Definition at line 5590 of file infrun.c.
References add_thread(), adjust_pc_after_break(), reg_buffer::arch(), inferior::aspace, regcache::aspace(), bpstat_causes_stop(), bpstat_stop_status_nowatch(), breakpoint_inserted_here_p(), breakpoint_retire_moribund(), target_waitstatus::child_ptid, clear_exit_convenience_vars(), context_switch(), thread_info::control, current_inferior(), delete_just_stopped_threads_single_step_breakpoints(), detach_breakpoints(), detach_fork, displaced_debug_printf, displaced_step_finish(), displaced_step_in_progress_thread(), execution_control_state::event_thread, target_waitstatus::execd_pathname, inferior::exit_code, target_waitstatus::exit_status, find_inferior_ptid(), process_stratum_target::find_thread(), follow_exec(), follow_fork(), follow_fork_mode_child, follow_fork_mode_string, gdb_flush(), gdb_stdout, inferior::gdbarch, gdbarch_displaced_step_restore_all_in_ptid(), gdbarch_gdb_signal_to_target(), gdbarch_gdb_signal_to_target_p(), gdbarch_supports_displaced_stepping(), get_current_regcache(), get_inferior_stop_soon(), get_thread_arch_aspace_regcache(), get_thread_regcache(), handle_no_resumed(), handle_signal_stop(), handle_solib_event(), handle_stop_requested(), handle_syscall_event(), handle_vfork_child_exec_or_exit(), handle_vfork_done(), inferior::has_exit_code, thread_info::inf, inferior_ptid, inferior_thread(), infrun_debug_printf, insert_breakpoints(), interps_notify_exited(), interps_notify_no_history(), interps_notify_signal_exited(), keep_going(), target_waitstatus::kind(), lookup_internalvar(), mark_non_executing_threads(), thread_control_state::may_range_step, NO_STOP_QUIETLY, non_stop, target_terminal::ours(), paddress(), thread_info::pending_follow, prepare_to_wait(), process_event_stop_test(), inferior::process_target(), execution_control_state::ptid, reg_buffer::regcache, regcache_read_pc(), regcache_write_pc(), reinit_frame_cache(), resume(), return_child_result_value, sched_multi, set_internalvar_integer(), set_last_target_status(), thread_info::set_running(), thread_info::set_stop_pc(), thread_info::set_stop_signal(), target_waitstatus::set_stopped(), target_waitstatus::sig, start_step_over(), thread_control_state::stop_bpstat, STOP_NONE, stop_on_solib_events, thread_info::stop_pc(), stop_print_frame, STOP_QUIETLY, STOP_QUIETLY_NO_SIGSTOP, STOP_QUIETLY_REMOTE, stop_stack_dummy, stop_waiting(), switch_back_to_stepped_thread(), switch_to_inferior_no_thread(), switch_to_thread(), switch_to_thread_no_regs(), execution_control_state::target, target_is_non_stop_p(), target_mourn_inferior(), TARGET_WAITKIND_EXECD, TARGET_WAITKIND_EXITED, TARGET_WAITKIND_FORKED, TARGET_WAITKIND_IGNORE, TARGET_WAITKIND_LOADED, TARGET_WAITKIND_NO_HISTORY, TARGET_WAITKIND_NO_RESUMED, TARGET_WAITKIND_SIGNALLED, TARGET_WAITKIND_SPURIOUS, TARGET_WAITKIND_STOPPED, TARGET_WAITKIND_SYSCALL_ENTRY, TARGET_WAITKIND_SYSCALL_RETURN, TARGET_WAITKIND_THREAD_CREATED, TARGET_WAITKIND_THREAD_EXITED, TARGET_WAITKIND_VFORK_DONE, TARGET_WAITKIND_VFORKED, inferior::thread_waiting_for_vfork_done, target_waitstatus::to_string(), and execution_control_state::ws.
Referenced by fetch_inferior_event(), and wait_for_inferior().
|
static |
Definition at line 5451 of file infrun.c.
References all_non_exited_threads(), all_uis(), current_inferior(), target_terminal::inferior(), infrun_debug_printf, target_terminal::ours(), prepare_to_wait(), PROMPT_BLOCKED, ui::prompt_state, switch_to_inferior_no_thread(), switch_to_thread(), target_can_async_p(), and update_thread_list().
Referenced by handle_inferior_event().
|
static |
Definition at line 5176 of file infrun.c.
References add_thread(), thread_info::control, currently_stepping(), inferior::detaching, displaced_step_finish(), DISPLACED_STEP_FINISH_STATUS_NOT_EXECUTED, find_inferior_pid(), get_thread_regcache(), global_thread_step_over_chain_enqueue(), thread_info::inf, infrun_debug_printf, target_waitstatus::kind(), mark_non_executing_threads(), thread_control_state::may_range_step, inferior::needs_setup, paddress(), pid, thread_info::ptid, wait_one_event::ptid, reg_buffer::regcache, regcache_read_pc(), save_waitstatus(), thread_info::set_executing(), thread_info::set_resumed(), thread_info::set_stop_pc(), setup_inferior(), target_waitstatus::sig, thread_info::stop_pc(), thread_info::stop_requested, switch_to_thread_no_regs(), wait_one_event::target, target_gdbarch(), TARGET_WAITKIND_EXITED, TARGET_WAITKIND_NO_RESUMED, TARGET_WAITKIND_SIGNALLED, TARGET_WAITKIND_STOPPED, TARGET_WAITKIND_THREAD_EXITED, target_waitstatus::to_string(), thread_control_state::trap_expected, and wait_one_event::ws.
Referenced by prepare_for_detach(), and stop_all_threads().
|
static |
Definition at line 6386 of file infrun.c.
References reg_buffer::arch(), regcache::aspace(), bpstat_clear(), bpstat_explains_signal(), bpstat_stop_status(), build_bpstat_chain(), clear_step_over_info(), context_switch(), thread_info::control, current_inferior(), currently_stepping(), debug_infrun, delete_just_stopped_threads_single_step_breakpoints(), deprecated_context_hook, execution_control_state::event_thread, finish_step_over(), gdbarch_decr_pc_after_break(), gdbarch_have_nonsteppable_watchpoint(), gdbarch_program_breakpoint_here_p(), gdbarch_single_step_through_delay(), gdbarch_single_step_through_delay_p(), get_current_frame(), get_current_regcache(), get_frame_arch(), get_inferior_stop_soon(), get_stack_frame_id(), get_thread_regcache(), thread_info::global_num, execution_control_state::hit_singlestep_breakpoint, target_terminal::inferior(), infrun_debug_printf, insert_hp_step_resume_breakpoint_at_frame(), keep_going(), target_waitstatus::kind(), NO_STOP_QUIETLY, notify_signal_received(), target_terminal::ours_for_output(), paddress(), pc_at_non_inline_function(), pc_in_thread_step_range(), thread_info::prev_pc, process_event_stop_test(), execution_control_state::ptid, record_full_gdb_operation_disable_set(), record_full_is_used(), reg_buffer::regcache, regcache_read_pc(), regcache_write_pc(), thread_info::set_stop_pc(), thread_info::set_stop_signal(), target_waitstatus::sig, signal_print, signal_program, signal_stop_state(), single_step_breakpoint_inserted_here_p(), skip_inline_frames(), thread_info::step_after_step_resume_breakpoint, thread_control_state::step_range_end, thread_control_state::step_resume_breakpoint, thread_info::stepping_over_breakpoint, thread_info::stepping_over_watchpoint, thread_control_state::stop_bpstat, thread_info::stop_pc(), stop_print_frame, STOP_QUIETLY, STOP_QUIETLY_NO_SIGSTOP, STOP_QUIETLY_REMOTE, thread_info::stop_requested, thread_info::stop_signal(), thread_control_state::stop_step, stop_waiting(), stopped_by_random_signal, switch_back_to_stepped_thread(), target_have_steppable_watchpoint(), target_stopped_by_hw_breakpoint(), target_stopped_by_sw_breakpoint(), target_stopped_by_watchpoint(), target_stopped_data_address, TARGET_WAITKIND_STOPPED, thread_has_single_step_breakpoint_here(), thread_control_state::trap_expected, watchpoints_triggered(), and execution_control_state::ws.
Referenced by handle_inferior_event(), and handle_stop_requested().
|
static |
Definition at line 8071 of file infrun.c.
References thread_info::control, symtab_and_line::end, end_stepping_range(), execution_control_state::event_thread, fill_in_stop_func(), find_pc_compunit_symtab(), find_pc_line(), find_pc_overlay(), gdbarch_adjust_breakpoint_address(), gdbarch_adjust_breakpoint_address_p(), gdbarch_skip_prologue_noexcept(), get_current_frame(), get_frame_program_space(), insert_step_resume_breakpoint_at_sal(), keep_going(), compunit_symtab::language(), language_asm, null_frame_id, symtab_and_line::pc, symtab_and_line::pspace, symtab_and_line::section, thread_control_state::step_range_end, thread_control_state::step_range_start, execution_control_state::stop_func_end, execution_control_state::stop_func_start, and thread_info::stop_pc().
Referenced by process_event_stop_test().
|
static |
Definition at line 8148 of file infrun.c.
References thread_info::control, symtab_and_line::end, end_stepping_range(), execution_control_state::event_thread, fill_in_stop_func(), find_pc_compunit_symtab(), find_pc_line(), gdbarch_skip_prologue_noexcept(), keep_going(), compunit_symtab::language(), language_asm, symtab_and_line::pc, thread_control_state::step_range_end, thread_control_state::step_range_start, execution_control_state::stop_func_start, and thread_info::stop_pc().
Referenced by process_event_stop_test().
|
static |
Definition at line 4867 of file infrun.c.
References execution_control_state::event_thread, handle_signal_stop(), target_waitstatus::set_stopped(), thread_info::stop_requested, and execution_control_state::ws.
Referenced by handle_inferior_event(), and handle_syscall_event().
|
static |
Definition at line 4884 of file infrun.c.
References regcache::aspace(), bpstat_causes_stop(), bpstat_stop_status_nowatch(), catch_syscall_enabled(), catching_syscall_number(), context_switch(), thread_info::control, execution_control_state::event_thread, get_thread_regcache(), handle_stop_requested(), infrun_debug_printf, keep_going(), reg_buffer::regcache, regcache_read_pc(), thread_info::set_stop_pc(), thread_control_state::stop_bpstat, thread_info::stop_pc(), target_waitstatus::syscall_number, and execution_control_state::ws.
Referenced by handle_inferior_event().
|
static |
Definition at line 1011 of file infrun.c.
References any_live_thread_of_inferior(), clone_program_space(), current_inferior(), current_program_space, gdb_printf(), infrun_debug_printf, INFRUN_SCOPED_DEBUG_ENTER_EXIT, maybe_new_address_space(), non_stop, target_terminal::ours_for_output(), inferior::pending_detach, inferior::pid, print_inferior_events, proceed_after_vfork_done(), inferior::pspace, set_current_program_space(), switch_to_no_thread(), switch_to_thread(), SYMFILE_NO_READ, target_detach(), target_pid_to_str(), inferior::threads(), and inferior::vfork_parent.
Referenced by handle_inferior_event().
|
static |
Definition at line 1144 of file infrun.c.
References program_space::breakpoints_not_allowed, thread_info::inf, infrun_debug_printf, INFRUN_SCOPED_DEBUG_ENTER_EXIT, insert_breakpoints(), inferior::pspace, restart_threads(), start_step_over(), step_over_info_valid_p(), target_is_non_stop_p(), and inferior::thread_waiting_for_vfork_done.
Referenced by handle_inferior_event().
|
static |
Definition at line 9395 of file infrun.c.
References gdb_printf(), gdb_signal_from_command(), parse_and_eval_long(), QUIT, sig_print_header(), and sig_print_info().
void infrun_async | ( | int | enable | ) |
Definition at line 121 of file infrun.c.
References clear_async_event_handler(), enable, infrun_async_inferior_event_token, infrun_debug_printf, infrun_is_async, and mark_async_event_handler().
Referenced by target_async().
|
static |
Definition at line 9833 of file infrun.c.
References clear_async_event_handler(), INF_REG_EVENT, inferior_event_handler(), and infrun_async_inferior_event_token.
Definition at line 1648 of file infrun.c.
References clear_step_over_info(), inferior::displaced_step_state, displaced_step_inferior_state::reset(), step_over_info::thread, inferior::thread_waiting_for_vfork_done, and inferior::threads().
|
static |
|
static |
Definition at line 4317 of file infrun.c.
References check_quit_flag(), target_terminal::is_ours(), and target_pass_ctrlc().
Referenced by fetch_inferior_event().
|
static |
Definition at line 2203 of file infrun.c.
References current_inferior(), and inferior_ptid.
|
static |
Definition at line 3675 of file infrun.c.
References all_threads(), clear_inline_frame_state(), current_inferior(), global_thread_step_over_chain_remove(), inferior::process_target(), target_waitstatus::set_stopped(), step_over_info_valid_p(), thread_is_in_step_over_chain(), and THREAD_RUNNING.
void init_thread_stepping_state | ( | struct thread_info * | tss | ) |
Definition at line 4599 of file infrun.c.
References thread_info::step_after_step_resume_breakpoint, thread_info::stepped_breakpoint, thread_info::stepping_over_breakpoint, and thread_info::stepping_over_watchpoint.
Referenced by proceed().
void init_wait_for_inferior | ( | void | ) |
Definition at line 3639 of file infrun.c.
References breakpoint_init_inferior(), clear_proceed_status(), inf_starting, nullify_last_target_wait_ptid(), and update_previous_thread().
Referenced by attach_command(), gdbsim_target::create_inferior(), windows_nat_target::do_initial_windows_stuff(), run_command_1(), and remote_target::start_remote_1().
|
static |
Definition at line 4830 of file infrun.c.
References thread_info::control, find_frame_sal(), function_name_is_marked_for_skip(), get_current_frame(), get_frame_function(), get_frame_id(), get_frame_type(), get_prev_frame(), INLINE_FRAME, symtab_and_line::line, and general_symbol_info::print_name().
Referenced by process_event_stop_test().
|
static |
Definition at line 8297 of file infrun.c.
References block_symbol::block, bp, bp_exception_resume, thread_info::control, thread_control_state::exception_resume_breakpoint, get_frame_arch(), inferior_thread(), infrun_debug_printf, lookup_symbol_search_name(), value::optimized_out(), read_var_value(), general_symbol_info::search_name(), set_momentary_breakpoint_at_pc(), block_symbol::symbol, value, value_as_address(), and VAR_DOMAIN.
Referenced by check_exception_resume().
|
static |
Definition at line 8343 of file infrun.c.
References bp, bp_exception_resume, thread_info::control, thread_control_state::exception_resume_breakpoint, get_frame_arch(), inferior_thread(), infrun_debug_printf, paddress(), probe_safe_evaluate_at_pc(), set_momentary_breakpoint_at_pc(), and value_as_address().
Referenced by check_exception_resume().
|
static |
Definition at line 8221 of file infrun.c.
References bp_hp_step_resume, find_pc_overlay(), gdbarch_addr_bits_remove(), get_frame_arch(), get_frame_pc(), get_frame_program_space(), get_stack_frame_id(), insert_step_resume_breakpoint_at_sal_1(), symtab_and_line::pc, symtab_and_line::pspace, and symtab_and_line::section.
Referenced by handle_signal_stop(), and resume_1().
|
static |
Definition at line 8276 of file infrun.c.
References bp_longjmp_resume, thread_info::control, thread_control_state::exception_resume_breakpoint, inferior_thread(), infrun_debug_printf, paddress(), and set_momentary_breakpoint_at_pc().
Referenced by process_event_stop_test().
|
static |
Definition at line 8252 of file infrun.c.
References find_pc_overlay(), frame_id_p(), frame_unwind_caller_arch(), frame_unwind_caller_id(), frame_unwind_caller_pc(), frame_unwind_program_space(), gdbarch_addr_bits_remove(), insert_step_resume_breakpoint_at_sal(), symtab_and_line::pc, symtab_and_line::pspace, and symtab_and_line::section.
Referenced by process_event_stop_test().
void insert_step_resume_breakpoint_at_sal | ( | struct gdbarch * | gdbarch, |
struct symtab_and_line | sr_sal, | ||
struct frame_id | sr_id ) |
Definition at line 8204 of file infrun.c.
References bp_step_resume, and insert_step_resume_breakpoint_at_sal_1().
Referenced by finish_backward(), handle_step_into_function(), insert_step_resume_breakpoint_at_caller(), and process_event_stop_test().
|
static |
Definition at line 8185 of file infrun.c.
References bp_hp_step_resume, bp_step_resume, thread_info::control, inferior_thread(), infrun_debug_printf, paddress(), symtab_and_line::pc, set_momentary_breakpoint(), and thread_control_state::step_resume_breakpoint.
Referenced by insert_hp_step_resume_breakpoint_at_frame(), and insert_step_resume_breakpoint_at_sal().
|
static |
Definition at line 2350 of file infrun.c.
References find_thread_waiting_for_vfork_done(), thread_info::inf, inferior_ptid, inferior_thread(), inferior::process_target(), thread_info::ptid, target_is_non_stop_p(), and user_visible_resume_ptid().
Referenced by keep_going_stepped_thread(), and resume_1().
|
static |
Definition at line 8568 of file infrun.c.
References thread_info::control, execution_control_state::event_thread, keep_going_pass_signal(), thread_info::set_stop_signal(), signal_program, thread_info::stop_signal(), and thread_control_state::trap_expected.
Referenced by fetch_inferior_event(), get_next_token_for_substitution(), handle_inferior_event(), handle_signal_stop(), handle_step_into_function(), handle_step_into_function_backward(), handle_syscall_event(), process_event_stop_test(), recursively_search_psymtabs(), restart_after_all_stop_detach(), substitute_args(), and switch_back_to_stepped_thread().
|
static |
Definition at line 8447 of file infrun.c.
References regcache::aspace(), clear_step_over_info(), thread_info::control, execution_control_state::event_thread, exception_print(), gdb_stderr, get_current_regcache(), get_thread_regcache(), thread_info::global_num, global_thread_step_over_chain_enqueue(), execution_control_state::hit_singlestep_breakpoint, inferior_ptid, infrun_debug_printf, insert_breakpoints(), prepare_to_wait(), thread_info::prev_pc, thread_info::ptid, regcache_read_pc(), regcache_read_pc_protected(), resume(), thread_info::resumed(), set_step_over_info(), STEP_OVER_BREAKPOINT, step_over_info_valid_p(), STEP_OVER_WATCHPOINT, stop_all_threads(), thread_info::stop_signal(), stop_waiting(), target_is_non_stop_p(), thread_still_needs_step_over(), thread_control_state::trap_expected, and use_displaced_stepping().
Referenced by keep_going(), keep_going_stepped_thread(), proceed_resume_thread_checked(), restart_threads(), and start_step_over().
|
static |
Definition at line 7964 of file infrun.c.
References clear_step_over_info(), thread_info::control, delete_thread(), do_target_resume(), get_current_frame(), get_frame_address_space(), get_frame_arch(), get_thread_regcache(), infrun_debug_printf, insert_single_step_breakpoint(), internal_resume_ptid(), keep_going_pass_signal(), paddress(), thread_info::prev_pc, thread_info::ptid, regcache_read_pc(), thread_info::set_resumed(), thread_info::set_stop_pc(), thread_info::state, thread_control_state::stepping_command, thread_info::stop_pc(), switch_to_thread(), target_gdbarch(), target_thread_alive(), THREAD_EXITED, and thread_control_state::trap_expected.
Referenced by restart_stepped_thread(), and restart_threads().
void mark_infrun_async_event_handler | ( | void | ) |
Definition at line 139 of file infrun.c.
References infrun_async_inferior_event_token, and mark_async_event_handler().
Referenced by attach_command(), and prepare_to_wait().
|
static |
Definition at line 5131 of file infrun.c.
References target_waitstatus::kind(), set_executing(), set_resumed(), target_is_non_stop_p(), TARGET_WAITKIND_EXITED, and TARGET_WAITKIND_SIGNALLED.
Referenced by handle_inferior_event(), and handle_one().
void maybe_call_commit_resumed_all_targets | ( | ) |
Definition at line 3085 of file infrun.c.
References all_non_exited_inferiors(), process_stratum_target::commit_resumed_state, infrun_debug_printf, target_ops::shortname(), switch_to_inferior_no_thread(), and target_commit_resumed().
Referenced by scoped_disable_commit_resumed::reset_and_commit(), and scoped_enable_commit_resumed::scoped_enable_commit_resumed().
void maybe_remove_breakpoints | ( | void | ) |
Definition at line 8823 of file infrun.c.
References breakpoints_should_be_inserted_now(), gdb_printf(), target_terminal::ours_for_output(), remove_breakpoints(), and target_has_execution().
Referenced by call_function_by_hand_dummy(), and normal_stop().
|
static |
Definition at line 3028 of file infrun.c.
References all_non_exited_inferiors(), process_stratum_target::commit_resumed_state, process_stratum_target::has_resumed_with_pending_wait_status(), infrun_debug_printf, target_ops::shortname(), switch_to_inferior_no_thread(), target_has_pending_events(), and process_stratum_target::threads_executing.
Referenced by scoped_disable_commit_resumed::reset(), and scoped_enable_commit_resumed::scoped_enable_commit_resumed().
|
static |
Definition at line 2257 of file infrun.c.
References EXEC_FORWARD, execution_direction, gdbarch_software_single_step_p(), and insert_single_step_breakpoints().
Referenced by resume_1().
|
static |
bool normal_stop | ( | ) |
Definition at line 8899 of file infrun.c.
References annotate_stopped(), annotate_thread_changed(), async_enable_stdin(), breakpoint_auto_delete(), stop_context::changed(), current_ui, disable_current_display(), DUMMY_FRAME, exception_fprintf(), execute_cmd_pre_hook(), frame_pop(), gdb_printf(), gdb_stderr, get_current_frame(), get_frame_type(), get_last_target_status(), has_stack_frames(), inferior_ptid, inferior_thread(), target_waitstatus::kind(), maybe_remove_breakpoints(), new_stop_id(), non_stop, notify_normal_stop(), notify_signal_received(), target_terminal::ours_for_output(), previous_thread, PROMPT_BLOCKED, ui::prompt_state, select_frame(), set_current_sal_from_frame(), stop_command, stop_print_frame, STOP_STACK_DUMMY, stop_stack_dummy, stopped_by_random_signal, SWITCH_THRU_ALL_UIS, target_has_execution(), target_pid_to_str(), TARGET_WAITKIND_EXITED, TARGET_WAITKIND_NO_RESUMED, TARGET_WAITKIND_SIGNALLED, TARGET_WAITKIND_STOPPED, update_previous_thread(), update_thread_list(), and user_visible_resume_target().
Referenced by attach_post_wait(), fetch_inferior_event(), proceed(), start_remote(), and step_1().
|
static |
Definition at line 2917 of file infrun.c.
References gdb::observers::about_to_proceed, interp::on_about_to_proceed(), and top_level_interpreter().
Referenced by clear_proceed_status().
void notify_normal_stop | ( | bpstat * | bs, |
int | print_frame ) |
Definition at line 6369 of file infrun.c.
References interps_notify_normal_stop(), gdb::observers::normal_stop, and print_frame().
Referenced by normal_stop(), and remote_target::print_one_stopped_thread().
void notify_signal_received | ( | gdb_signal | sig | ) |
Definition at line 6360 of file infrun.c.
References interps_notify_signal_received(), and gdb::observers::signal_received.
Referenced by handle_signal_stop(), normal_stop(), and remote_target::print_one_stopped_thread().
void notify_user_selected_context_changed | ( | user_selected_what | selection | ) |
Definition at line 6377 of file infrun.c.
References interps_notify_user_selected_context_changed(), and gdb::observers::user_selected_context_changed.
Referenced by frame_command_core(), inferior_command(), select_frame_command_core(), and thread_command().
void nullify_last_target_wait_ptid | ( | void | ) |
Definition at line 4635 of file infrun.c.
References target_last_proc_target, target_last_wait_ptid, and target_last_waitstatus.
Referenced by fork_load_infrun_state(), and init_wait_for_inferior().
|
static |
Definition at line 4989 of file infrun.c.
References debug_infrun, overlay_cache_invalid, print_target_wait_results(), target_dcache_invalidate(), target_wait(), and TARGET_WNOHANG.
Referenced by wait_one().
void prepare_for_detach | ( | void | ) |
Definition at line 4059 of file infrun.c.
References clear_step_over_info(), current_inferior(), debug_infrun, displaced_step_in_progress(), do_target_wait_1(), find_thread_global_id(), global_thread_step_over_chain_remove(), global_thread_step_over_list, handle_one(), thread_info::inf, infrun_debug_printf, make_thread_step_over_list_safe_range(), inf::pid, print_target_wait_results(), wait_one_event::ptid, range, restart_threads(), start_step_over(), step_over_info_valid_p(), wait_one_event::target, target_is_non_stop_p(), target_stop(), step_over_info::thread, and wait_one_event::ws.
Referenced by target_detach().
|
static |
Definition at line 8584 of file infrun.c.
References infrun_debug_printf, mark_infrun_async_event_handler(), target_can_async_p(), and execution_control_state::wait_some_more.
Referenced by finish_step_over(), handle_inferior_event(), handle_no_resumed(), keep_going_pass_signal(), and switch_back_to_stepped_thread().
void print_exited_reason | ( | struct ui_out * | uiout, |
int | exitstatus ) |
Definition at line 8641 of file infrun.c.
References annotate_exited(), async_reason_lookup(), current_inferior(), EXEC_ASYNC_EXITED, EXEC_ASYNC_EXITED_NORMALLY, ui_out::field_string(), ui_out::is_mi_like_p(), ui_out::message(), inf::pid, string_field(), and target_pid_to_str().
Referenced by cli_interp_base::on_exited(), and mi_interp::on_exited().
void print_no_history_reason | ( | struct ui_out * | uiout | ) |
Definition at line 8720 of file infrun.c.
References async_reason_lookup(), EXEC_ASYNC_NO_HISTORY, ui_out::field_string(), ui_out::is_mi_like_p(), and ui_out::text().
Referenced by cli_interp_base::on_no_history(), and mi_interp::on_no_history().
void print_signal_exited_reason | ( | struct ui_out * | uiout, |
enum gdb_signal | siggnal ) |
Definition at line 8620 of file infrun.c.
References annotate_signal_name(), annotate_signal_name_end(), annotate_signal_string(), annotate_signal_string_end(), annotate_signalled(), async_reason_lookup(), EXEC_ASYNC_EXITED_SIGNALLED, ui_out::field_string(), ui_out::is_mi_like_p(), and ui_out::text().
Referenced by cli_interp_base::on_signal_exited(), and mi_interp::on_signal_exited().
void print_signal_received_reason | ( | struct ui_out * | uiout, |
enum gdb_signal | siggnal ) |
Definition at line 8668 of file infrun.c.
References annotate_signal(), annotate_signal_name(), annotate_signal_name_end(), annotate_signal_string(), annotate_signal_string_end(), reg_buffer::arch(), async_reason_lookup(), EXEC_ASYNC_SIGNAL_RECEIVED, ui_out::field_string(), gdbarch_report_signal_info(), gdbarch_report_signal_info_p(), get_current_regcache(), inferior_thread(), infrun_debug_printf, ui_out::is_mi_like_p(), name, print_thread_id(), show_thread_that_caused_stop(), ui_out::text(), and thread_name().
Referenced by cli_interp_base::on_signal_received(), and mi_interp::on_signal_received().
void print_stop_event | ( | struct ui_out * | uiout, |
bool | displays ) |
Definition at line 8791 of file infrun.c.
References current_uiout, do_displays(), thread_fsm::finished_p(), get_last_target_status(), inferior_thread(), print_return_value(), print_stop_location(), thread_fsm::return_value(), and thread_info::thread_fsm().
Referenced by cli_interp_base::on_normal_stop(), and mi_interp::on_normal_stop().
|
static |
Definition at line 8734 of file infrun.c.
References bpstat_print(), thread_info::control, find_pc_function(), get_current_frame(), get_frame_id(), get_selected_frame(), inferior_thread(), target_waitstatus::kind(), PRINT_NOTHING, PRINT_SRC_AND_LOC, PRINT_SRC_ONLY, print_stack_frame(), PRINT_UNKNOWN, SRC_AND_LOC, SRC_LINE, thread_control_state::step_start_function, thread_control_state::stop_bpstat, thread_info::stop_pc(), and thread_control_state::stop_step.
Referenced by print_stop_event().
void print_target_wait_results | ( | ptid_t | waiton_ptid, |
ptid_t | result_ptid, | ||
const struct target_waitstatus & | ws ) |
Definition at line 3783 of file infrun.c.
References infrun_debug_printf, target_pid_to_str(), and target_waitstatus::to_string().
Referenced by fetch_inferior_event(), poll_one_curr_target(), prepare_for_detach(), remote_target::process_initial_stop_replies(), and wait_for_inferior().
void proceed | ( | CORE_ADDR | addr, |
enum gdb_signal | siggnal ) |
Definition at line 3395 of file infrun.c.
References all_non_exited_threads(), annotate_starting(), reg_buffer::arch(), regcache::aspace(), breakpoint_here_p(), check_multi_target_resumption(), thread_info::control, EXEC_REVERSE, execution_direction, follow_fork(), gdb_flush(), gdb_stdout, gdbarch_single_step_through_delay(), gdbarch_single_step_through_delay_p(), get_current_frame(), get_current_regcache(), global_thread_step_over_chain_enqueue(), thread_control_state::in_infcall, INF_EXEC_COMPLETE, target_terminal::inferior(), inferior_event_handler(), inferior_thread(), infrun_async_inferior_event_token, infrun_debug_printf, INFRUN_SCOPED_DEBUG_ENTER_EXIT, INFRUN_SCOPED_DEBUG_START_END, init_thread_stepping_state(), mark_async_event_handler(), non_stop, normal_stop(), ordinary_breakpoint_here, paddress(), thread_info::prev_pc, proceed_resume_thread_checked(), thread_info::ptid, reg_buffer::regcache, regcache_read_pc_protected(), regcache_write_pc(), scoped_disable_commit_resumed::reset_and_commit(), schedlock_applies(), set_running(), thread_info::set_stop_signal(), start_step_over(), step_over_info_valid_p(), thread_control_state::stepping_command, thread_info::stepping_over_breakpoint, thread_info::stop_pc(), thread_info::stop_pc_p(), switch_to_thread(), switch_to_thread_no_regs(), target_can_async_p(), target_is_non_stop_p(), thread_is_in_step_over_chain(), thread_still_needs_step_over(), update_previous_thread(), user_visible_resume_ptid(), and user_visible_resume_target().
Referenced by attach_post_wait(), continue_1(), finish_backward(), finish_command(), finish_forward(), jump_command(), proceed_after_attach(), proceed_after_vfork_done(), proceed_thread(), proceed_thread_callback(), run_command_1(), run_inferior_call(), signal_command(), step_1(), until_break_command(), and until_next_command().
|
static |
Definition at line 991 of file infrun.c.
References clear_proceed_status(), thread_info::executing(), infrun_debug_printf, proceed(), thread_info::ptid, thread_info::state, thread_info::stop_requested, thread_info::stop_signal(), switch_to_thread(), and THREAD_RUNNING.
Referenced by handle_vfork_child_exec_or_exit().
|
static |
Definition at line 3293 of file infrun.c.
References thread_info::executing(), inferior::has_execution(), thread_info::has_pending_waitstatus(), thread_info::inf, infrun_debug_printf, keep_going_pass_signal(), inferior::pid, thread_info::ptid, thread_info::resumed(), switch_to_thread(), target_is_non_stop_p(), thread_is_in_step_over_chain(), inferior::thread_waiting_for_vfork_done, inferior::vfork_child, and execution_control_state::wait_some_more.
Referenced by proceed().
|
static |
Definition at line 6896 of file infrun.c.
References bp_location::address, bp_hp_step_resume, bpstat_run_callbacks(), bpstat_what(), BPSTAT_WHAT_CLEAR_LONGJMP_RESUME, BPSTAT_WHAT_HP_STEP_RESUME, BPSTAT_WHAT_KEEP_CHECKING, BPSTAT_WHAT_SET_LONGJMP_RESUME, BPSTAT_WHAT_SINGLE, BPSTAT_WHAT_STEP_RESUME, BPSTAT_WHAT_STOP_NOISY, BPSTAT_WHAT_STOP_SILENT, bpstat_what::call_dummy, check_exception_resume(), check_longjmp_breakpoint_for_call_dummy(), thread_info::control, thread_info::current_line, thread_info::current_symtab, delete_exception_resume_breakpoint(), delete_step_resume_breakpoint(), symtab_and_line::end, end_stepping_range(), block::entry_pc(), execution_control_state::event_thread, thread_control_state::exception_resume_breakpoint, EXEC_REVERSE, execution_direction, fill_in_stop_func(), find_frame_sal(), find_pc_function(), find_pc_line(), find_pc_overlay(), breakpoint::first_loc(), frame_find_by_id(), frame_id_p(), frame_unwind_caller_id(), function_name_is_marked_for_skip(), gdbarch_addr_bits_remove(), gdbarch_get_longjmp_target(), gdbarch_get_longjmp_target_p(), gdbarch_in_indirect_branch_thunk(), gdbarch_in_solib_return_trampoline(), gdbarch_skip_solib_resolver(), gdbarch_skip_trampoline_code(), get_current_frame(), get_frame_arch(), get_frame_id(), get_frame_program_space(), get_frame_type(), get_stack_frame_id(), handle_step_into_function(), handle_step_into_function_backward(), in_solib_dynsym_resolve_code(), infrun_debug_printf, thread_info::initiating_frame, INLINE_FRAME, inline_frame_is_marked_for_skip(), inline_skipped_frames(), insert_longjmp_resume_breakpoint(), insert_step_resume_breakpoint_at_caller(), insert_step_resume_breakpoint_at_sal(), bpstat_what::is_longjmp, symtab_and_line::is_stmt, keep_going(), symtab_and_line::line, bpstat_what::main_action, thread_control_state::may_range_step, null_frame_id, outer_frame_id, paddress(), symtab_and_line::pc, pc_in_thread_step_range(), bp_location::permanent, thread_info::prev_pc, probe_safe_evaluate_at_pc(), thread_control_state::proceed_to_finish, symtab_and_line::pspace, symtab_and_line::section, set_step_info(), SIGTRAMP_FRAME, skip_language_trampoline(), thread_info::step_after_step_resume_breakpoint, step_into_inline_frame(), STEP_OVER_ALL, thread_control_state::step_over_calls, STEP_OVER_NONE, STEP_OVER_UNDEBUGGABLE, thread_control_state::step_range_end, thread_control_state::step_range_start, thread_control_state::step_resume_breakpoint, thread_control_state::step_start_function, step_stop_if_no_debug, thread_info::stepped_breakpoint, stepped_in_from(), thread_info::stepping_over_breakpoint, thread_control_state::stop_bpstat, execution_control_state::stop_func_alt_start, execution_control_state::stop_func_name, execution_control_state::stop_func_start, thread_info::stop_pc(), stop_print_frame, stop_stack_dummy, stop_waiting(), switch_back_to_stepped_thread(), symtab_and_line::symtab, breakpoint::type, value_as_address(), and symbol::value_block().
Referenced by handle_inferior_event(), and handle_signal_stop().
|
static |
Definition at line 3799 of file infrun.c.
References thread_info::has_pending_waitstatus(), infrun_debug_printf, thread_info::ptid, process_stratum_target::random_resumed_with_pending_wait_status(), and thread_info::resumed().
Referenced by do_target_wait_1().
|
static |
Definition at line 4222 of file infrun.c.
References ui::async, ui::command_editing, current_ui, gdb_rl_callback_handler_reinstall(), PROMPT_BLOCKED, and ui::prompt_state.
Referenced by fetch_inferior_event().
void restart_after_all_stop_detach | ( | process_stratum_target * | proc_target | ) |
Definition at line 7911 of file infrun.c.
References all_threads(), keep_going(), restart_stepped_thread(), switch_to_thread(), and THREAD_RUNNING.
Referenced by detach_command().
|
static |
Definition at line 7848 of file infrun.c.
References all_threads_safe(), infrun_debug_printf, keep_going_stepped_thread(), sched_multi, start_step_over(), and THREAD_EXITED.
Referenced by restart_after_all_stop_detach(), and switch_back_to_stepped_thread().
|
static |
Definition at line 6144 of file infrun.c.
References all_non_exited_threads(), currently_stepping(), infrun_debug_printf, INFRUN_SCOPED_DEBUG_START_END, keep_going_pass_signal(), keep_going_stepped_thread(), thread_info::ptid, step_over_info_valid_p(), switch_to_thread(), switch_to_thread_no_regs(), thread_is_in_step_over_chain(), THREAD_RUNNING, thread_still_needs_step_over(), and update_thread_list().
Referenced by finish_step_over(), handle_vfork_done(), and prepare_for_detach().
void restore_infcall_control_state | ( | struct infcall_control_state * | inf_status | ) |
Definition at line 9706 of file infrun.c.
References bpstat_clear(), thread_info::control, current_inferior(), disp_del_at_next_stop, breakpoint::disposition, thread_control_state::exception_resume_breakpoint, infcall_control_state::inferior_control, inferior_thread(), restore_selected_frame(), infcall_control_state::selected_frame_level, thread_control_state::step_resume_breakpoint, thread_control_state::stop_bpstat, stop_stack_dummy, infcall_control_state::stop_stack_dummy, stopped_by_random_signal, infcall_control_state::stopped_by_random_signal, target_has_stack(), and infcall_control_state::thread_control.
Referenced by call_function_by_hand_dummy(), and infcall_control_state_deleter::operator()().
void restore_infcall_suspend_state | ( | struct infcall_suspend_state * | inf_state | ) |
Definition at line 9630 of file infrun.c.
References reg_buffer::arch(), discard_infcall_suspend_state(), get_current_regcache(), inferior_thread(), and infcall_suspend_state::restore().
Referenced by infcall_suspend_state_deleter::operator()(), and pop_dummy_frame().
|
static |
Definition at line 2806 of file infrun.c.
References delete_single_step_breakpoints(), inferior_ptid, inferior_thread(), and resume_1().
Referenced by handle_inferior_event(), and keep_going_pass_signal().
|
static |
Definition at line 2453 of file infrun.c.
References reg_buffer::arch(), regcache::aspace(), bpstat_should_step(), breakpoint_here_p(), breakpoint_inserted_here_p(), clear_step_over_info(), thread_info::control, current_inferior(), currently_stepping(), delete_single_step_breakpoints(), displaced_step_prepare(), DISPLACED_STEP_PREPARE_STATUS_CANT, DISPLACED_STEP_PREPARE_STATUS_OK, DISPLACED_STEP_PREPARE_STATUS_UNAVAILABLE, do_target_resume(), EXEC_REVERSE, execution_direction, breakpoint::first_loc(), gdbarch_cannot_step_breakpoint(), gdbarch_displaced_step_hw_singlestep(), gdbarch_skip_permanent_breakpoint(), get_current_frame(), get_current_regcache(), get_thread_regcache(), thread_info::global_num, thread_info::has_pending_waitstatus(), thread_info::inf, inferior_ptid, inferior_thread(), infrun_async_inferior_event_token, infrun_debug_printf, insert_breakpoints(), insert_hp_step_resume_breakpoint_at_frame(), insert_single_step_breakpoint(), internal_resume_ptid(), mark_async_event_handler(), thread_control_state::may_range_step, maybe_software_singlestep(), paddress(), pc_in_thread_step_range(), thread_info::pending_waitstatus(), bp_location::permanent, permanent_breakpoint_here, inferior::process_target(), thread_info::ptid, regcache_read_pc(), thread_info::set_resumed(), set_step_over_info(), thread_info::set_stop_signal(), thread_info::step_after_step_resume_breakpoint, step_over_info_valid_p(), thread_control_state::step_resume_breakpoint, thread_info::stepped_breakpoint, thread_control_state::stepping_command, stop_all_threads(), thread_info::stop_requested, target_async(), target_can_async_p(), target_is_non_stop_p(), thread_has_single_step_breakpoints_set(), thread_is_in_step_over_chain(), process_stratum_target::threads_executing, target_waitstatus::to_string(), thread_control_state::trap_expected, and use_displaced_stepping().
Referenced by resume().
|
static |
Definition at line 6241 of file infrun.c.
References thread_info::has_pending_waitstatus(), and thread_info::resumed().
Referenced by finish_step_over().
infcall_control_state_up save_infcall_control_state | ( | ) |
Definition at line 9675 of file infrun.c.
References bpstat_copy(), thread_info::control, current_inferior(), thread_control_state::exception_resume_breakpoint, inferior_thread(), save_selected_frame(), thread_control_state::step_resume_breakpoint, thread_control_state::stop_bpstat, stop_stack_dummy, and stopped_by_random_signal.
Referenced by call_function_by_hand_dummy().
infcall_suspend_state_up save_infcall_suspend_state | ( | ) |
Definition at line 9609 of file infrun.c.
References reg_buffer::arch(), get_current_regcache(), inferior_thread(), and thread_info::set_stop_signal().
Referenced by call_function_by_hand_dummy().
|
static |
Definition at line 5085 of file infrun.c.
References adjust_pc_after_break(), regcache::aspace(), currently_stepping(), get_thread_regcache(), hardware_breakpoint_inserted_here_p(), infrun_debug_printf, target_waitstatus::kind(), thread_info::pending_waitstatus(), thread_info::ptid, regcache_read_pc(), thread_info::set_pending_waitstatus(), thread_info::set_stop_reason(), target_waitstatus::sig, software_breakpoint_inserted_here_p(), switch_to_thread(), target_stopped_by_hw_breakpoint(), TARGET_STOPPED_BY_HW_BREAKPOINT, TARGET_STOPPED_BY_SINGLE_STEP, target_stopped_by_sw_breakpoint(), TARGET_STOPPED_BY_SW_BREAKPOINT, target_stopped_by_watchpoint(), TARGET_STOPPED_BY_WATCHPOINT, target_supports_stopped_by_hw_breakpoint(), target_supports_stopped_by_sw_breakpoint(), TARGET_WAITKIND_STOPPED, thread_has_single_step_breakpoints_set(), and target_waitstatus::to_string().
Referenced by finish_step_over(), and handle_one().
|
static |
Definition at line 3013 of file infrun.c.
References thread_info::control, execution_direction, schedlock_on, schedlock_replay, schedlock_step, scheduler_mode, thread_control_state::stepping_command, and target_record_will_replay().
Referenced by proceed(), and switch_back_to_stepped_thread().
|
static |
Definition at line 215 of file infrun.c.
References target_supports_disable_randomization().
|
static |
Definition at line 9779 of file infrun.c.
References exec_direction, exec_forward, EXEC_FORWARD, exec_reverse, EXEC_REVERSE, execution_direction, and target_can_execute_reverse().
void set_last_target_status | ( | process_stratum_target * | target, |
ptid_t | ptid, | ||
const target_waitstatus & | status ) |
Definition at line 4610 of file infrun.c.
References status, target_last_proc_target, target_last_wait_ptid, and target_last_waitstatus.
Referenced by handle_inferior_event(), remote_target::print_one_stopped_thread(), and set_last_target_status_stopped().
|
static |
Definition at line 729 of file infrun.c.
References thread_info::inf, inferior::process_target(), thread_info::ptid, set_last_target_status(), and target_waitstatus::set_stopped().
Referenced by follow_fork().
|
static |
Definition at line 230 of file infrun.c.
References non_stop, non_stop_1, and target_has_execution().
|
static |
Definition at line 259 of file infrun.c.
References gdb_printf(), may_insert_breakpoints, may_insert_fast_tracepoints, may_insert_tracepoints, may_stop, may_write_memory, may_write_registers, non_stop, non_stop_1, observer_mode, observer_mode_1, pagination_enabled, target_has_execution(), and update_target_permissions().
|
static |
Definition at line 2236 of file infrun.c.
References schedlock_off, scheduler_mode, target_can_lock_scheduler(), and target_shortname().
void set_step_info | ( | thread_info * | tp, |
frame_info_ptr | frame, | ||
struct symtab_and_line | sal ) |
Definition at line 4575 of file infrun.c.
References thread_info::control, thread_info::current_line, thread_info::current_symtab, symtab::filename, get_frame_id(), get_stack_frame_id(), inferior_ptid, infrun_debug_printf, symtab_and_line::line, thread_info::ptid, and symtab_and_line::symtab.
Referenced by finish_command(), process_event_stop_test(), and set_step_frame().
|
static |
Definition at line 1460 of file infrun.c.
References step_over_info::address, step_over_info::aspace, step_over_info::nonsteppable_watchpoint_p, and step_over_info::thread.
Referenced by keep_going_pass_signal(), and resume_1().
|
static |
Definition at line 381 of file infrun.c.
References update_solib_breakpoints().
|
static |
Definition at line 1677 of file infrun.c.
References AUTO_BOOLEAN_AUTO, can_use_displaced_stepping, gdb_printf(), and target_is_non_stop_p().
|
static |
Definition at line 189 of file infrun.c.
References gdb_printf().
|
static |
Definition at line 200 of file infrun.c.
References gdb_printf(), gdb_puts(), and target_supports_disable_randomization().
|
static |
Definition at line 9797 of file infrun.c.
References EXEC_FORWARD, EXEC_REVERSE, execution_direction, and gdb_printf().
|
static |
Definition at line 1203 of file infrun.c.
References gdb_printf().
|
static |
Definition at line 419 of file infrun.c.
References gdb_printf().
|
static |
Definition at line 243 of file infrun.c.
References gdb_printf().
|
static |
Definition at line 295 of file infrun.c.
References gdb_printf().
|
static |
Definition at line 9814 of file infrun.c.
References gdb_printf().
|
static |
Definition at line 2226 of file infrun.c.
References gdb_printf().
|
static |
Definition at line 149 of file infrun.c.
References gdb_printf().
|
static |
Definition at line 388 of file infrun.c.
References gdb_printf().
|
static |
Definition at line 9164 of file infrun.c.
References gdb_printf().
Referenced by handle_command(), and info_signals_command().
|
static |
Definition at line 9171 of file infrun.c.
References gdb_printf(), name, signal_print, signal_program, and signal_stop.
Referenced by handle_command(), and info_signals_command().
|
static |
Definition at line 9500 of file infrun.c.
References value::allocate(), value::allocate_computed(), gdbarch_get_siginfo_type(), gdbarch_get_siginfo_type_p(), inferior_ptid, siginfo_value_funcs, and target_has_stack().
|
static |
Definition at line 9446 of file infrun.c.
References value::contents_all_raw(), current_inferior(), type::length(), value::offset(), TARGET_OBJECT_SIGNAL_INFO, target_read(), value::type(), and validate_registers_access().
Definition at line 9470 of file infrun.c.
References value::contents_all_raw(), current_inferior(), type::length(), value::offset(), TARGET_OBJECT_SIGNAL_INFO, target_write(), value::type(), and validate_registers_access().
|
static |
Definition at line 9103 of file infrun.c.
References signal_cache_update(), signal_catch, signal_pass, signal_print, signal_program, and signal_stop.
Referenced by handle_command(), signal_cache_update(), signal_catch_update(), signal_pass_update(), signal_print_update(), and signal_stop_update().
void signal_catch_update | ( | const unsigned int * | info | ) |
Definition at line 9153 of file infrun.c.
References signal_cache_update(), signal_catch, signal_pass, and target_pass_signals().
Referenced by signal_catchpoint::insert_location(), and signal_catchpoint::remove_location().
int signal_pass_state | ( | int | signo | ) |
Definition at line 9097 of file infrun.c.
References signal_program.
Referenced by clear_proceed_status_thread(), linux_nat_target::follow_fork(), get_detach_signal(), linux_nat_filter_event(), remote_target::program_signals(), queue_signal_command(), and signal_command().
int signal_pass_update | ( | int | signo, |
int | state ) |
Definition at line 9140 of file infrun.c.
References signal_cache_update(), and signal_program.
Referenced by nto_initialize_signals().
int signal_print_state | ( | int | signo | ) |
Definition at line 9091 of file infrun.c.
References signal_print.
Referenced by remote_target::print_one_stopped_thread().
int signal_print_update | ( | int | signo, |
int | state ) |
Definition at line 9130 of file infrun.c.
References signal_cache_update(), and signal_print.
Referenced by check_thread_signals(), and nto_initialize_signals().
int signal_stop_state | ( | int | signo | ) |
Definition at line 9085 of file infrun.c.
References signal_stop.
Referenced by handle_signal_stop().
int signal_stop_update | ( | int | signo, |
int | state ) |
Definition at line 9120 of file infrun.c.
References signal_cache_update(), and signal_stop.
Referenced by check_thread_signals(), and nto_initialize_signals().
void start_remote | ( | int | from_tty | ) |
Definition at line 3607 of file infrun.c.
References current_inferior(), normal_stop(), post_create_inferior(), STOP_QUIETLY_REMOTE, and wait_for_inferior().
|
static |
Definition at line 2035 of file infrun.c.
References displaced_step_in_progress_any_thread(), global_thread_step_over_chain_enqueue(), global_thread_step_over_chain_enqueue_chain(), global_thread_step_over_list, infrun_debug_printf, INFRUN_SCOPED_DEBUG_ENTER_EXIT, keep_going_pass_signal(), make_thread_step_over_list_safe_range(), range, STEP_OVER_BREAKPOINT, step_over_info_valid_p(), STEP_OVER_WATCHPOINT, switch_to_thread(), target_is_non_stop_p(), thread_is_in_step_over_chain(), thread_step_over_chain_length(), thread_still_needs_step_over(), use_displaced_stepping(), and execution_control_state::wait_some_more.
Referenced by finish_step_over(), handle_inferior_event(), handle_vfork_done(), prepare_for_detach(), proceed(), and restart_stepped_thread().
|
static |
Definition at line 1515 of file infrun.c.
References step_over_info::aspace, and stepping_past_nonsteppable_watchpoint().
Referenced by do_target_resume(), finish_step_over(), handle_vfork_done(), infrun_thread_stop_requested(), keep_going_pass_signal(), prepare_for_detach(), proceed(), restart_threads(), resume_1(), and start_step_over().
|
static |
Definition at line 4807 of file infrun.c.
References get_frame_id(), get_frame_type(), get_prev_frame(), and INLINE_FRAME.
Referenced by process_event_stop_test().
int stepping_past_instruction_at | ( | struct address_space * | aspace, |
CORE_ADDR | address ) |
Definition at line 1486 of file infrun.c.
References step_over_info::address, step_over_info::aspace, and breakpoint_address_match().
Referenced by should_be_inserted().
int stepping_past_nonsteppable_watchpoint | ( | void | ) |
Definition at line 1507 of file infrun.c.
References step_over_info::nonsteppable_watchpoint_p.
Referenced by should_be_inserted(), and step_over_info_valid_p().
void stop_all_threads | ( | const char * | reason, |
inferior * | inf ) |
Definition at line 5315 of file infrun.c.
References all_non_exited_process_targets(), all_non_exited_threads(), debug_infrun, exists_non_stop_target(), handle_one(), infrun_debug_printf, infrun_debug_show_threads(), INFRUN_SCOPED_DEBUG_START_END, switch_to_target_no_thread(), switch_to_thread_no_regs(), target_is_non_stop_p(), target_stop(), target_thread_events(), update_thread_list(), and wait_one().
Referenced by attach_post_wait(), follow_fork(), keep_going_pass_signal(), remote_target::process_initial_stop_replies(), resume_1(), and stop_all_threads_if_all_stop_mode().
|
static |
Definition at line 4154 of file infrun.c.
References exists_non_stop_target(), non_stop, and stop_all_threads().
Referenced by fetch_inferior_event(), and wait_for_inferior().
|
static |
Definition at line 8435 of file infrun.c.
References infrun_debug_printf, and execution_control_state::wait_some_more.
Referenced by end_stepping_range(), handle_inferior_event(), handle_signal_stop(), keep_going_pass_signal(), and process_event_stop_test().
|
static |
Definition at line 7764 of file infrun.c.
References thread_info::control, execution_control_state::event_thread, execution_control_state::hit_singlestep_breakpoint, infrun_debug_printf, keep_going(), prepare_to_wait(), thread_info::ptid, execution_control_state::ptid, restart_stepped_thread(), schedlock_applies(), thread_info::set_stop_signal(), signal_program, thread_control_state::step_range_end, thread_info::stop_signal(), switch_to_thread(), execution_control_state::target, target_is_non_stop_p(), thread_still_needs_step_over(), and thread_control_state::trap_expected.
Referenced by handle_inferior_event(), handle_signal_stop(), and process_event_stop_test().
int thread_is_stepping_over_breakpoint | ( | int | thread | ) |
Definition at line 1498 of file infrun.c.
References step_over_info::thread.
Referenced by should_be_inserted().
|
static |
Definition at line 2995 of file infrun.c.
References STEP_OVER_BREAKPOINT, STEP_OVER_WATCHPOINT, thread_info::stepping_over_watchpoint, target_have_steppable_watchpoint(), and thread_still_needs_step_over_bp().
Referenced by keep_going_pass_signal(), proceed(), restart_threads(), start_step_over(), and switch_back_to_stepped_thread().
|
static |
Definition at line 2973 of file infrun.c.
References regcache::aspace(), breakpoint_here_p(), get_thread_regcache(), ordinary_breakpoint_here, regcache_read_pc(), and thread_info::stepping_over_breakpoint.
Referenced by thread_still_needs_step_over().
void update_observer_mode | ( | void | ) |
Definition at line 308 of file infrun.c.
References gdb_printf(), may_insert_breakpoints, may_insert_fast_tracepoints, may_insert_tracepoints, may_stop, non_stop, observer_mode, and observer_mode_1.
Referenced by set_target_permissions(), and set_write_memory_registers_permission().
void update_previous_thread | ( | ) |
Definition at line 164 of file infrun.c.
References inferior_ptid, inferior_thread(), and previous_thread.
Referenced by detach_command(), disconnect_command(), init_wait_for_inferior(), kill_command(), normal_stop(), proceed(), target_pre_inferior(), and target_preopen().
void update_signals_program_target | ( | void | ) |
Definition at line 360 of file infrun.c.
References signal_program, and target_program_signals().
Referenced by remote_target::start_remote_1().
|
static |
Definition at line 1707 of file infrun.c.
References reg_buffer::arch(), AUTO_BOOLEAN_AUTO, AUTO_BOOLEAN_FALSE, can_use_displaced_stepping, inferior::displaced_step_state, displaced_step_inferior_state::failed_before, find_record_target(), gdbarch_supports_displaced_stepping(), get_thread_regcache(), thread_info::inf, and target_is_non_stop_p().
Referenced by keep_going_pass_signal(), resume_1(), and start_step_over().
ptid_t user_visible_resume_ptid | ( | int | step | ) |
Definition at line 2271 of file infrun.c.
References execution_direction, inferior_ptid, non_stop, RESUME_ALL, sched_multi, schedlock_on, schedlock_replay, schedlock_step, scheduler_mode, target_record_will_replay(), and target_supports_multi_process().
Referenced by clear_proceed_status(), follow_fork(), internal_resume_ptid(), prepare_one_step(), proceed(), run_inferior_call(), and signal_command().
process_stratum_target * user_visible_resume_target | ( | ptid_t | resume_ptid | ) |
Definition at line 2313 of file infrun.c.
References current_inferior(), inferior::process_target(), and sched_multi.
Referenced by clear_proceed_status(), follow_fork(), normal_stop(), proceed(), and signal_command().
|
static |
Definition at line 4168 of file infrun.c.
References debug_infrun, delete_just_stopped_threads_infrun_breakpoints(), do_target_wait_1(), handle_inferior_event(), infrun_debug_printf, overlay_cache_invalid, print_target_wait_results(), execution_control_state::ptid, stop_all_threads_if_all_stop_mode(), execution_control_state::target, target_dcache_invalidate(), execution_control_state::wait_some_more, and execution_control_state::ws.
Referenced by start_remote().
|
static |
Definition at line 5012 of file infrun.c.
References all_inferiors(), target_ops::async_wait_fd(), interruptible_select(), target_ops::is_async_p(), target_waitstatus::kind(), poll_one_curr_target(), QUIT, target_waitstatus::set_no_resumed(), switch_to_inferior_no_thread(), wait_one_event::target, target_async(), TARGET_WAITKIND_IGNORE, TARGET_WAITKIND_NO_RESUMED, process_stratum_target::threads_executing, and wait_one_event::ws.
Referenced by stop_all_threads().
|
static |
Definition at line 1674 of file infrun.c.
Referenced by displaced_step_prepare(), show_can_use_displaced_stepping(), and use_displaced_stepping().
|
static |
Definition at line 2837 of file infrun.c.
Referenced by get_stop_id(), and new_stop_id().
bool debug_infrun = false |
Definition at line 187 of file infrun.c.
Referenced by fetch_inferior_event(), handle_signal_stop(), infrun_debug_show_threads(), poll_one_curr_target(), prepare_for_detach(), stop_all_threads(), and wait_for_inferior().
|
static |
Definition at line 185 of file infrun.c.
Referenced by follow_fork(), linux_nat_target::follow_fork(), remote_target::follow_fork(), rs6000_nat_target::follow_fork(), obsd_nat_target::follow_fork(), follow_fork_inferior(), handle_inferior_event(), and target_follow_fork().
bool disable_randomization = true |
Definition at line 197 of file infrun.c.
Referenced by fbsd_nat_target::create_inferior(), linux_nat_target::create_inferior(), extended_remote_target::create_inferior(), windows_nat_target::create_inferior(), and maybe_disable_address_space_randomization::maybe_disable_address_space_randomization().
|
static |
|
static |
Definition at line 9771 of file infrun.c.
Referenced by set_exec_direction_func().
|
static |
|
static |
Definition at line 9769 of file infrun.c.
Referenced by set_exec_direction_func().
|
static |
Definition at line 9770 of file infrun.c.
Referenced by set_exec_direction_func().
enum exec_direction_kind execution_direction = EXEC_FORWARD |
Definition at line 9768 of file infrun.c.
Referenced by adjust_pc_after_break(), call_function_by_hand_dummy(), clear_proceed_status(), finish_command_fsm::do_async_reply_reason(), exec_reverse_continue(), exec_reverse_once(), fetch_inferior_event(), finish_command(), maybe_software_singlestep(), ppc64_plt_entry_point(), ppc64_skip_trampoline_code_1(), ppc_skip_trampoline_code(), proceed(), process_event_stop_test(), record_full_wait_1(), resume_1(), schedlock_applies(), set_exec_direction_func(), show_exec_direction_func(), and user_visible_resume_ptid().
|
static |
|
static |
Definition at line 1192 of file infrun.c.
Referenced by follow_exec().
|
static |
Definition at line 1201 of file infrun.c.
Referenced by follow_exec().
|
static |
Definition at line 408 of file infrun.c.
Referenced by follow_fork(), and handle_inferior_event().
|
static |
|
static |
Definition at line 417 of file infrun.c.
Referenced by follow_fork(), and handle_inferior_event().
thread_step_over_list global_thread_step_over_list |
Definition at line 1393 of file infrun.c.
Referenced by global_thread_step_over_chain_enqueue(), global_thread_step_over_chain_enqueue_chain(), global_thread_step_over_chain_remove(), prepare_for_detach(), and start_step_over().
|
static |
Definition at line 112 of file infrun.c.
Referenced by do_target_wait_1(), finish_step_over(), infrun_async(), infrun_async_inferior_event_handler(), mark_infrun_async_event_handler(), proceed(), and resume_1().
|
static |
Definition at line 116 of file infrun.c.
Referenced by infrun_async().
bool non_stop = false |
Definition at line 226 of file infrun.c.
Referenced by attach_command(), attach_post_wait(), check_multi_target_resumption(), clean_up_just_stopped_threads_fsms(), clear_proceed_status(), continue_1(), continue_command(), exec_continue(), fetch_inferior_event(), follow_fork(), follow_fork_inferior(), handle_inferior_event(), handle_vfork_child_exec_or_exit(), inferior_event_handler(), info_program_command(), interrupt_target_1(), mi_cmd_exec_interrupt(), normal_stop(), mi_interp::on_normal_stop(), prepare_execute_command(), proceed(), remote_target::process_initial_stop_replies(), py_get_event_thread(), record_full_open_1(), run_command_1(), set_non_stop(), set_observer_mode(), signal_command(), stop_all_threads_if_all_stop_mode(), target_is_non_stop_p(), target_stop_and_wait(), update_observer_mode(), and user_visible_resume_ptid().
|
static |
Definition at line 227 of file infrun.c.
Referenced by set_non_stop(), and set_observer_mode().
|
static |
Definition at line 255 of file infrun.c.
Referenced by set_observer_mode(), and update_observer_mode().
|
static |
Definition at line 256 of file infrun.c.
Referenced by set_observer_mode(), and update_observer_mode().
|
static |
Definition at line 159 of file infrun.c.
Referenced by get_previous_thread(), normal_stop(), and update_previous_thread().
bool sched_multi = false |
Definition at line 2249 of file infrun.c.
Referenced by exec_continue(), find_thread_waiting_for_vfork_done(), follow_fork_inferior(), handle_inferior_event(), restart_stepped_thread(), user_visible_resume_ptid(), and user_visible_resume_target().
|
static |
Definition at line 2213 of file infrun.c.
Referenced by set_schedlock_func().
|
static |
Definition at line 2214 of file infrun.c.
Referenced by schedlock_applies(), and user_visible_resume_ptid().
|
static |
Definition at line 2216 of file infrun.c.
Referenced by clear_proceed_status(), schedlock_applies(), and user_visible_resume_ptid().
|
static |
Definition at line 2215 of file infrun.c.
Referenced by schedlock_applies(), and user_visible_resume_ptid().
|
static |
|
static |
Definition at line 2224 of file infrun.c.
Referenced by clear_proceed_status(), schedlock_applies(), set_schedlock_func(), and user_visible_resume_ptid().
|
static |
|
static |
Definition at line 9489 of file infrun.c.
Referenced by siginfo_make_value().
|
static |
Definition at line 333 of file infrun.c.
Referenced by signal_cache_update(), and signal_catch_update().
|
static |
Definition at line 338 of file infrun.c.
Referenced by do_target_resume(), handle_command(), signal_cache_update(), and signal_catch_update().
|
static |
Definition at line 327 of file infrun.c.
Referenced by handle_command(), handle_signal_stop(), sig_print_info(), signal_cache_update(), signal_print_state(), and signal_print_update().
|
static |
Definition at line 328 of file infrun.c.
Referenced by handle_command(), handle_signal_stop(), keep_going(), sig_print_info(), signal_cache_update(), signal_pass_state(), signal_pass_update(), switch_back_to_stepped_thread(), and update_signals_program_target().
|
static |
Definition at line 326 of file infrun.c.
Referenced by handle_command(), sig_print_info(), signal_cache_update(), signal_stop_state(), and signal_stop_update().
bool step_stop_if_no_debug = false |
Definition at line 147 of file infrun.c.
Referenced by prepare_one_step(), and process_event_stop_test().
|
static |
Definition at line 371 of file infrun.c.
Referenced by normal_stop().
int stop_on_solib_events |
Definition at line 375 of file infrun.c.
Referenced by internal_breakpoint::check_status(), handle_inferior_event(), and svr4_update_solib_event_breakpoint().
|
static |
Definition at line 397 of file infrun.c.
Referenced by handle_inferior_event(), handle_signal_stop(), normal_stop(), and process_event_stop_test().
|
static |
Definition at line 402 of file infrun.c.
Referenced by get_last_target_status(), nullify_last_target_wait_ptid(), and set_last_target_status().
|
static |
Definition at line 403 of file infrun.c.
Referenced by get_last_target_status(), nullify_last_target_wait_ptid(), and set_last_target_status().
|
static |
Definition at line 404 of file infrun.c.
Referenced by get_last_target_status(), nullify_last_target_wait_ptid(), and set_last_target_status().