GDB (xrefs)

Classes | Macros | Typedefs | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/infrun.c File Reference
`#include "defs.h"`
`#include "infrun.h"`
`#include <ctype.h>`
`#include "symtab.h"`
`#include "frame.h"`
`#include "inferior.h"`
`#include "breakpoint.h"`
`#include "gdb_wait.h"`
`#include "gdbcore.h"`
`#include "gdbcmd.h"`
`#include "cli/cli-script.h"`
`#include "target.h"`
`#include "gdbthread.h"`
`#include "annotate.h"`
`#include "symfile.h"`
`#include "top.h"`
`#include <signal.h>`
`#include "inf-loop.h"`
`#include "regcache.h"`
`#include "value.h"`
`#include "observer.h"`
`#include "language.h"`
`#include "solib.h"`
`#include "main.h"`
`#include "dictionary.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 "continuations.h"`
`#include "interps.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 "event-loop.h"`
`#include "thread-fsm.h"`
`#include "common/enum-flags.h"`
`#include "progspace-and-thread.h"`
`#include "common/gdb_optional.h"`
`#include "arch-utils.h"`

Go to the source code of this file.

## Classes
class | scoped_restore_exited_inferior
struct | step_over_info
struct | displaced_step_inferior_state
struct | execution_control_state
struct | stop_context
struct | infcall_suspend_state
struct | infcall_control_state

## Macros
#define | SET_SIGS(nsigs, sigs, flags)
#define | UNSET_SIGS(nsigs, sigs, flags)
#define | RESUME_ALL minus_one_ptid
#define | THREAD_STOPPED_BY(REASON)

## Typedefs
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 }

## Functions
static void | sig_print_info (enum gdb_signal)
static void | sig_print_header (void)
static int | follow_fork (void)
static int | follow_fork_inferior (int follow_child, int detach_fork)
static void | follow_inferior_reset_breakpoints (void)
static int | currently_stepping (struct thread_info *tp)
void | nullify_last_target_wait_ptid (void)
static void | insert_hp_step_resume_breakpoint_at_frame (struct frame_info *)
static void | insert_step_resume_breakpoint_at_caller (struct frame_info *)
static void | insert_longjmp_resume_breakpoint (struct gdbarch *, CORE_ADDR)
static int | maybe_software_singlestep (struct gdbarch *gdbarch, CORE_ADDR pc)
void | infrun_async (int enable)
void | mark_infrun_async_event_handler (void)
static void | show_step_stop_if_no_debug (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | show_debug_displaced (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | show_debug_infrun (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | show_disable_randomization (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | set_disable_randomization (const char *args, int from_tty, struct cmd_list_element *c)
static void | set_non_stop (const char *args, int from_tty, struct cmd_list_element *c)
static void | show_non_stop (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | set_observer_mode (const char *args, int from_tty, struct cmd_list_element *c)
static void | show_observer_mode (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
void | update_observer_mode (void)
void | update_signals_program_target (void)
static void | set_stop_on_solib_events (const char *args, int from_tty, struct cmd_list_element *c)
static void | show_stop_on_solib_events (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | context_switch (ptid_t ptid)
void | init_thread_stepping_state (struct thread_info *tss)
static void | show_follow_fork_mode_string (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static int | proceed_after_vfork_done (struct thread_info *thread, void *arg)
static void | handle_vfork_child_exec_or_exit (int exec)
static void | show_follow_exec_mode_string (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | follow_exec (ptid_t ptid, char *exec_file_target)
| DEF_ENUM_FLAGS_TYPE (enum step_over_what_flag, step_over_what)
static void | set_step_over_info (const address_space *aspace, CORE_ADDR address, int nonsteppable_watchpoint_p, int thread)
static void | clear_step_over_info (void)
int | stepping_past_instruction_at (struct address_space *aspace, CORE_ADDR address)
int | thread_is_stepping_over_breakpoint (int thread)
int | stepping_past_nonsteppable_watchpoint (void)
static int | step_over_info_valid_p (void)
static struct displaced_step_inferior_state * | get_displaced_stepping_state (int pid)
static int | displaced_step_in_progress_any_inferior (void)
static int | displaced_step_in_progress_thread (ptid_t ptid)
static int | displaced_step_in_progress (int pid)
static struct displaced_step_inferior_state * | add_displaced_stepping_state (int pid)
struct displaced_step_closure * | get_displaced_step_closure_by_addr (CORE_ADDR addr)
static void | remove_displaced_stepping_state (int pid)
static void | infrun_inferior_exit (struct inferior *inf)
static void | show_can_use_displaced_stepping (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static int | use_displaced_stepping (struct thread_info *tp)
static void | displaced_step_clear (struct displaced_step_inferior_state *displaced)
static void | displaced_step_clear_cleanup (void *arg)
void | displaced_step_dump_bytes (struct ui_file *file, const gdb_byte *buf, size_t len)
static int | displaced_step_prepare_throw (ptid_t ptid)
static int | displaced_step_prepare (ptid_t ptid)
static void | write_memory_ptid (ptid_t ptid, CORE_ADDR memaddr, const gdb_byte *myaddr, int len)
static void | displaced_step_restore (struct displaced_step_inferior_state *displaced, ptid_t ptid)
static int | displaced_step_fixup (ptid_t event_ptid, enum gdb_signal signal)
static void | reset_ecs (struct execution_control_state *ecs, struct thread_info *tp)
static void | keep_going_pass_signal (struct execution_control_state *ecs)
static void | prepare_to_wait (struct execution_control_state *ecs)
static int | keep_going_stepped_thread (struct thread_info *tp)
static step_over_what | thread_still_needs_step_over (struct thread_info *tp)
static int | start_step_over (void)
static void | infrun_thread_ptid_changed (ptid_t old_ptid, ptid_t new_ptid)
static void | show_scheduler_mode (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | set_schedlock_func (const char *args, int from_tty, struct cmd_list_element *c)
ptid_t | user_visible_resume_ptid (int step)
static ptid_t | internal_resume_ptid (int user_step)
static void | do_target_resume (ptid_t resume_ptid, int step, enum gdb_signal sig)
static void | resume_1 (enum gdb_signal sig)
void | resume (gdb_signal sig)
ULONGEST | get_stop_id (void)
static void | new_stop_id (void)
static void | clear_proceed_status_thread (struct thread_info *tp)
void | clear_proceed_status (int step)
static int | thread_still_needs_step_over_bp (struct thread_info *tp)
static int | schedlock_applies (struct thread_info *tp)
void | proceed (CORE_ADDR addr, enum gdb_signal siggnal)
void | start_remote (int from_tty)
void | init_wait_for_inferior (void)
static void | handle_inferior_event (struct execution_control_state *ecs)
static void | handle_step_into_function (struct gdbarch *gdbarch, struct execution_control_state *ecs)
static void | handle_step_into_function_backward (struct gdbarch *gdbarch, struct execution_control_state *ecs)
static void | handle_signal_stop (struct execution_control_state *ecs)
static void | check_exception_resume (struct execution_control_state *, struct frame_info *)
static void | end_stepping_range (struct execution_control_state *ecs)
static void | stop_waiting (struct execution_control_state *ecs)
static void | keep_going (struct execution_control_state *ecs)
static void | process_event_stop_test (struct execution_control_state *ecs)
static int | switch_back_to_stepped_thread (struct execution_control_state *ecs)
static void | infrun_thread_stop_requested (ptid_t ptid)
static void | infrun_thread_thread_exit (struct thread_info *tp, int silent)
static void | delete_thread_infrun_breakpoints (struct thread_info *tp)
static void | for_each_just_stopped_thread (for_each_just_stopped_thread_callback_func func)
static void | delete_just_stopped_threads_infrun_breakpoints (void)
static void | delete_just_stopped_threads_single_step_breakpoints (void)
static void | delete_just_stopped_threads_infrun_breakpoints_cleanup (void *arg)
void | print_target_wait_results (ptid_t waiton_ptid, ptid_t result_ptid, const struct target_waitstatus *ws)
static struct thread_info * | random_pending_event_thread (ptid_t waiton_ptid)
static ptid_t | do_target_wait (ptid_t ptid, struct target_waitstatus *status, int options)
void | prepare_for_detach (void)
void | wait_for_inferior (void)
static void | reinstall_readline_callback_handler_cleanup (void *arg)
static void | clean_up_just_stopped_threads_fsms (struct execution_control_state *ecs)
static void | check_curr_ui_sync_execution_done (void)
void | all_uis_check_sync_execution_done (void)
void | all_uis_on_sync_execution_starting (void)
void | fetch_inferior_event (void *client_data)
void | set_step_info (struct frame_info *frame, struct symtab_and_line sal)
void | set_last_target_status (ptid_t ptid, struct target_waitstatus status)
void | get_last_target_status (ptid_t *ptidp, struct target_waitstatus *status)
static void | adjust_pc_after_break (struct thread_info *thread, struct target_waitstatus *ws)
static int | stepped_in_from (struct frame_info *frame, struct frame_id step_frame_id)
static bool | handle_stop_requested (struct execution_control_state *ecs)
static int | handle_syscall_event (struct execution_control_state *ecs)
static void | fill_in_stop_func (struct gdbarch *gdbarch, struct execution_control_state *ecs)
static enum stop_kind | get_inferior_stop_soon (ptid_t ptid)
static ptid_t | wait_one (struct target_waitstatus *ws)
static void | switch_to_thread_cleanup (void *ptid_p)
static void | save_waitstatus (struct thread_info *tp, struct target_waitstatus *ws)
static void | disable_thread_events (void *arg)
void | stop_all_threads (void)
static int | handle_no_resumed (struct execution_control_state *ecs)
static void | handle_inferior_event_1 (struct execution_control_state *ecs)
static void | restart_threads (struct thread_info *event_thread)
static int | resumed_thread_with_pending_status (struct thread_info *tp, void *arg)
static int | finish_step_over (struct execution_control_state *ecs)
static void | insert_step_resume_breakpoint_at_sal_1 (struct gdbarch *gdbarch, struct symtab_and_line sr_sal, struct frame_id sr_id, enum bptype sr_type)
void | insert_step_resume_breakpoint_at_sal (struct gdbarch *gdbarch, struct symtab_and_line sr_sal, struct frame_id sr_id)
static void | insert_exception_resume_breakpoint (struct thread_info *tp, const struct block *b, struct frame_info *frame, struct symbol *sym)
static void | insert_exception_resume_from_probe (struct thread_info *tp, const struct bound_probe *probe, struct frame_info *frame)
void | print_end_stepping_range_reason (struct ui_out *uiout)
void | print_signal_exited_reason (struct ui_out *uiout, enum gdb_signal siggnal)
void | print_exited_reason (struct ui_out *uiout, int exitstatus)
static void | handle_segmentation_fault (struct ui_out *uiout)
void | print_signal_received_reason (struct ui_out *uiout, enum gdb_signal siggnal)
void | print_no_history_reason (struct ui_out *uiout)
static void | print_stop_location (struct target_waitstatus *ws)
void | print_stop_event (struct ui_out *uiout)
void | maybe_remove_breakpoints (void)
static struct stop_context * | save_stop_context (void)
static void | release_stop_context_cleanup (void *arg)
static int | stop_context_changed (struct stop_context *prev)
int | normal_stop (void)
int | signal_stop_state (int signo)
int | signal_print_state (int signo)
int | signal_pass_state (int signo)
static void | signal_cache_update (int signo)
int | signal_stop_update (int signo, int state)
int | signal_print_update (int signo, int state)
int | signal_pass_update (int signo, int state)
void | signal_catch_update (const unsigned int *info)
static void | handle_command (const char *args, int from_tty)
static void | handle_completer (struct cmd_list_element *ignore, completion_tracker &tracker, const char *text, const char *word)
enum gdb_signal | gdb_signal_from_command (int num)
static void | info_signals_command (const char *signum_exp, int from_tty)
static void | siginfo_value_read (struct value *v)
static void | siginfo_value_write (struct value *v, struct value *fromval)
static struct value * | siginfo_make_value (struct gdbarch *gdbarch, struct internalvar *var, void *ignore)
struct infcall_suspend_state * | save_infcall_suspend_state (void)
void | restore_infcall_suspend_state (struct infcall_suspend_state *inf_state)
static void | do_restore_infcall_suspend_state_cleanup (void *state)
struct cleanup * | make_cleanup_restore_infcall_suspend_state (struct infcall_suspend_state *inf_state)
void | discard_infcall_suspend_state (struct infcall_suspend_state *inf_state)
struct regcache * | get_infcall_suspend_state_regcache (struct infcall_suspend_state *inf_state)
struct infcall_control_state * | save_infcall_control_state (void)
static void | restore_selected_frame (const frame_id &fid)
void | restore_infcall_control_state (struct infcall_control_state *inf_status)
static void | do_restore_infcall_control_state_cleanup (void *sts)
struct cleanup * | make_cleanup_restore_infcall_control_state (struct infcall_control_state *inf_status)
void | discard_infcall_control_state (struct infcall_control_state *inf_status)
void | clear_exit_convenience_vars (void)
static void | set_exec_direction_func (const char *args, int from_tty, struct cmd_list_element *cmd)
static void | show_exec_direction_func (struct ui_file *out, int from_tty, struct cmd_list_element *cmd, const char *value)
static void | show_schedule_multiple (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | infrun_async_inferior_event_handler (gdb_client_data data)
void | _initialize_infrun (void)

## Variables
static struct async_event_handler * | infrun_async_inferior_event_token
static int | infrun_is_async = -1
int | step_stop_if_no_debug = 0
static ptid_t | previous_inferior_ptid
static int | detach_fork = 1
int | debug_displaced = 0
unsigned int | debug_infrun = 0
int | disable_randomization = 1
int | non_stop = 0
static int | non_stop_1 = 0
int | observer_mode = 0
static int | observer_mode_1 = 0
static unsigned char * | signal_stop
static unsigned char * | signal_print
static unsigned char * | signal_program
static unsigned char * | signal_catch
static unsigned char * | signal_pass
static struct cmd_list_element * | stop_command
int | stop_on_solib_events
static int | stop_print_frame
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
struct thread_info * | step_over_queue_head
static struct step_over_info | step_over_info
static struct displaced_step_inferior_state * | displaced_step_inferior_states
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
int | sched_multi = 0
static ULONGEST | current_stop_id
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

## Macro Definition Documentation

## ◆ RESUME_ALL

#define RESUME_ALL minus_one_ptid

Definition at line 348 of file infrun.c.

Referenced by user_visible_resume_ptid().

## ◆ SET_SIGS

#define SET_SIGS | ( |  | nsigs,
|  |  | sigs,
|  |  | flags
| ) |  |

Value:
do { \
int signum = (nsigs); \
while (signum-- > 0) \
if ((sigs)[signum]) \
(flags)[signum] = 1; \
} while (0)
flags
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int flags
Definition: gnu-nat.c:1891

Definition at line 321 of file infrun.c.

Referenced by handle_command().

## ◆ THREAD_STOPPED_BY

#define THREAD_STOPPED_BY | ( |  | REASON | ) |

Value:
static int \
thread_stopped_by_ ## REASON (ptid_t ptid) \
{ \
scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid); \
inferior_ptid = ptid; \
\
return target_stopped_by_ ## REASON (); \
}
make_scoped_restore
scoped_restore_tmpl< T > make_scoped_restore(T *var)
Definition: scoped_restore.h:105
ptid_t
Definition: ptid.h:35
inferior_ptid
ptid_t inferior_ptid
Definition: infcmd.c:94

Definition at line 4357 of file infrun.c.

## ◆ UNSET_SIGS

#define UNSET_SIGS | ( |  | nsigs,
|  |  | sigs,
|  |  | flags
| ) |  |

Value:
do { \
int signum = (nsigs); \
while (signum-- > 0) \
if ((sigs)[signum]) \
(flags)[signum] = 0; \
} while (0)
flags
mach_port_t kern_return_t mach_port_t msgports mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int flags
Definition: gnu-nat.c:1891

Definition at line 329 of file infrun.c.

Referenced by handle_command().

## Typedef Documentation

## ◆ for_each_just_stopped_thread_callback_func

typedef void(* for_each_just_stopped_thread_callback_func) (struct thread_info *tp)

Definition at line 3365 of file infrun.c.

## Enumeration Type Documentation

## ◆ step_over_what_flag

enum step_over_what_flag

Enumerator
STEP_OVER_BREAKPOINT |
STEP_OVER_WATCHPOINT |

Definition at line 1264 of file infrun.c.

## Function Documentation

## ◆ _initialize_infrun()

void _initialize_infrun | ( | void |  | ) |

Definition at line 9161 of file infrun.c.

References _, add_cmd(), add_com(), add_info(), add_info_alias(), add_setshow_auto_boolean_cmd(), add_setshow_boolean_cmd(), add_setshow_enum_cmd(), add_setshow_zinteger_cmd(), add_setshow_zuinteger_cmd(), can_use_displaced_stepping, class_maintenance, class_obscure, class_run, class_support, cmdlist, create_async_event_handler(), create_internalvar_type_lazy(), dbx_commands, debug_displaced, debug_infrun, detach_fork, disable_randomization, exec_direction, exec_direction_names, follow_exec_mode_names, follow_exec_mode_string, follow_fork_mode_kind_names, follow_fork_mode_string, handle_command(), handle_completer(), inferior_ptid, info_signals_command(), infrun_async_inferior_event_handler(), infrun_async_inferior_event_token, infrun_inferior_exit(), infrun_thread_ptid_changed(), infrun_thread_stop_requested(), infrun_thread_thread_exit(), minus_one_ptid, no_class, non_stop_1, not_just_help_class_command(), null_ptid, observer_attach_inferior_exit(), observer_attach_thread_exit(), observer_attach_thread_ptid_changed(), observer_attach_thread_stop_requested(), observer_mode_1, sched_multi, scheduler_enums, scheduler_mode, set_cmd_completer(), set_disable_randomization(), set_exec_direction_func(), set_non_stop(), set_observer_mode(), set_schedlock_func(), set_stop_on_solib_events(), setdebuglist, setlist, show_can_use_displaced_stepping(), show_debug_displaced(), show_debug_infrun(), show_disable_randomization(), show_exec_direction_func(), show_follow_exec_mode_string(), show_follow_fork_mode_string(), show_non_stop(), show_observer_mode(), show_schedule_multiple(), show_scheduler_mode(), show_step_stop_if_no_debug(), show_stop_on_solib_events(), showdebuglist, showlist, siginfo_funcs, signal_cache_update(), signal_catch, signal_pass, signal_print, signal_program, signal_stop, step_stop_if_no_debug, stop_command, stop_on_solib_events, target_last_wait_ptid, and XNEWVEC.

## ◆ add_displaced_stepping_state()

static struct displaced_step_inferior_state* add_displaced_stepping_state | ( | int | pid | ) |
| static

Definition at line 1585 of file infrun.c.

References displaced_step_inferior_states, displaced_step_inferior_state::next, displaced_step_inferior_state::pid, pid, and XCNEW.

Referenced by displaced_step_prepare_throw().

## ◆ adjust_pc_after_break()

static void adjust_pc_after_break | ( | struct thread_info * | thread,
|  | struct target_waitstatus * | ws
| ) |  |
| static

Definition at line 4071 of file infrun.c.

References regcache::arch(), regcache::aspace(), currently_stepping(), gdb::optional< T >::emplace(), EXEC_REVERSE, execution_direction, gdbarch_decr_pc_after_break(), get_thread_regcache(), target_waitstatus::kind, moribund_breakpoint_here_p(), thread_info::prev_pc, thread_info::ptid, record_full_gdb_operation_disable_set(), record_full_is_used(), regcache::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, thread_has_single_step_breakpoints_set(), and target_waitstatus::value.

Referenced by handle_inferior_event_1(), and save_waitstatus().

## ◆ all_uis_check_sync_execution_done()

void all_uis_check_sync_execution_done | ( | void |  | ) |

Definition at line 3831 of file infrun.c.

References check_curr_ui_sync_execution_done(), and SWITCH_THRU_ALL_UIS.

Referenced by fetch_inferior_event(), and step_1().

## ◆ all_uis_on_sync_execution_starting()

void all_uis_on_sync_execution_starting | ( | void |  | ) |

Definition at line 3842 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().

## ◆ check_curr_ui_sync_execution_done()

static void check_curr_ui_sync_execution_done | ( | void |  | ) |
| static

Definition at line 3814 of file infrun.c.

References ui::async, current_ui, gdb_in_secondary_prompt_p(), observer_notify_sync_execution_done(), target_terminal::ours(), PROMPT_NEEDED, ui::prompt_state, and ui_register_input_event_handler().

Referenced by all_uis_check_sync_execution_done().

## ◆ check_exception_resume()

static void check_exception_resume | ( | struct execution_control_state * | ecs,
|  | struct frame_info * | frame
| ) |  |
| static

Definition at line 7585 of file infrun.c.

References ALL_BLOCK_SYMBOLS, CATCH, END_CATCH, execution_control_state::event_thread, find_probe_by_pc(), func, get_frame_function(), get_frame_pc(), insert_exception_resume_breakpoint(), insert_exception_resume_from_probe(), RETURN_MASK_ERROR, SYMBOL_BLOCK_VALUE, SYMBOL_IS_ARGUMENT, and TRY.

Referenced by process_event_stop_test().

## ◆ clean_up_just_stopped_threads_fsms()

static void clean_up_just_stopped_threads_fsms | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 3785 of file infrun.c.

References ALL_NON_EXITED_THREADS, execution_control_state::event_thread, non_stop, thread_info::ptid, switch_to_thread(), thread_info::thread_fsm, and thread_fsm_clean_up().

Referenced by fetch_inferior_event().

## ◆ clear_exit_convenience_vars()

void clear_exit_convenience_vars | ( | void |  | ) |

Definition at line 9077 of file infrun.c.

References clear_internalvar(), and lookup_internalvar().

Referenced by core_open(), and handle_inferior_event_1().

## ◆ clear_proceed_status()

void clear_proceed_status | ( | int | step | ) |

Definition at line 2860 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(), minus_one_ptid, NO_STOP_QUIETLY, non_stop, null_ptid, observer_notify_about_to_proceed(), thread_info::ptid, ptid_equal(), ptid_match(), schedlock_replay, scheduler_mode, inferior_control_state::stop_soon, target_record_is_replaying(), target_record_stop_replaying(), target_record_will_replay(), and user_visible_resume_ptid().

Referenced by attach_command(), attach_post_wait(), continue_1(), do_initial_windows_stuff(), finish_command(), gdbsim_create_inferior(), go32_create_inferior(), init_wait_for_inferior(), jump_command(), proceed_after_attach_callback(), proceed_after_vfork_done(), proceed_thread(), proceed_thread_callback(), run_inferior_call(), signal_command(), step_1(), until_break_command(), and until_next_command().

## ◆ clear_proceed_status_thread()

static void clear_proceed_status_thread | ( | struct thread_info * | tp | ) |
| static

Definition at line 2794 of file infrun.c.

References bpstat_clear(), thread_info::control, currently_stepping(), debug_infrun, fprintf_unfiltered(), gdb_stdlog, thread_control_state::may_range_step, null_frame_id, thread_control_state::proceed_to_finish, thread_info::ptid, signal_pass_state(), thread_control_state::step_frame_id, 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_stack_frame_id, thread_control_state::step_start_function, thread_control_state::stepping_command, thread_control_state::stop_bpstat, thread_suspend_state::stop_reason, thread_info::stop_requested, thread_suspend_state::stop_signal, thread_control_state::stop_step, string, thread_info::suspend, target_pid_to_str(), TARGET_STOPPED_BY_NO_REASON, TARGET_STOPPED_BY_SINGLE_STEP, target_waitstatus_to_string(), thread_info::thread_fsm, thread_fsm_delete(), thread_control_state::trap_expected, thread_suspend_state::waitstatus, and thread_suspend_state::waitstatus_pending_p.

Referenced by clear_proceed_status().

## ◆ clear_step_over_info()

static void clear_step_over_info | ( | void |  | ) |
| static

Definition at line 1341 of file infrun.c.

References step_over_info::address, step_over_info::aspace, debug_infrun, fprintf_unfiltered(), gdb_stdlog, step_over_info::nonsteppable_watchpoint_p, and step_over_info::thread.

Referenced by finish_step_over(), handle_signal_stop(), keep_going_pass_signal(), keep_going_stepped_thread(), and resume_1().

## ◆ context_switch()

static void context_switch | ( | ptid_t | ptid | ) |
| static

Definition at line 4052 of file infrun.c.

References debug_infrun, fprintf_unfiltered(), gdb_stdlog, inferior_ptid, thread_info::ptid, ptid_equal(), switch_to_thread(), and target_pid_to_str().

Referenced by finish_step_over(), handle_inferior_event_1(), handle_signal_stop(), and handle_syscall_event().

## ◆ currently_stepping()

static int currently_stepping | ( | struct thread_info * | tp | ) |
| static

Definition at line 7264 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_signal_stop(), restart_threads(), resume_1(), save_waitstatus(), and stop_all_threads().

## ◆ DEF_ENUM_FLAGS_TYPE()

DEF_ENUM_FLAGS_TYPE | ( | enum | step_over_what_flag,
|  | step_over_what |
| ) |  |

## ◆ delete_just_stopped_threads_infrun_breakpoints()

static void delete_just_stopped_threads_infrun_breakpoints | ( | void |  | ) |
| static

Definition at line 3394 of file infrun.c.

References delete_thread_infrun_breakpoints(), and for_each_just_stopped_thread().

Referenced by delete_just_stopped_threads_infrun_breakpoints_cleanup(), and fetch_inferior_event().

## ◆ delete_just_stopped_threads_infrun_breakpoints_cleanup()

static void delete_just_stopped_threads_infrun_breakpoints_cleanup | ( | void * | arg | ) |
| static

Definition at line 3411 of file infrun.c.

References delete_just_stopped_threads_infrun_breakpoints().

Referenced by fetch_inferior_event(), and wait_for_inferior().

## ◆ delete_just_stopped_threads_single_step_breakpoints()

static void delete_just_stopped_threads_single_step_breakpoints | ( | void |  | ) |
| static

Definition at line 3403 of file infrun.c.

References delete_single_step_breakpoints(), and for_each_just_stopped_thread().

Referenced by handle_inferior_event_1(), and handle_signal_stop().

## ◆ delete_thread_infrun_breakpoints()

static void delete_thread_infrun_breakpoints | ( | struct thread_info * | tp | ) |
| static

Definition at line 3353 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().

## ◆ disable_thread_events()

static void disable_thread_events | ( | void * | arg | ) |
| static

Definition at line 4460 of file infrun.c.

References target_thread_events().

Referenced by stop_all_threads().

## ◆ discard_infcall_control_state()

void discard_infcall_control_state | ( | struct infcall_control_state * | inf_status | ) |

Definition at line 9058 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, infcall_control_state::thread_control, and xfree().

Referenced by call_function_by_hand_dummy().

## ◆ discard_infcall_suspend_state()

void discard_infcall_suspend_state | ( | struct infcall_suspend_state * | inf_state | ) |

Definition at line 8918 of file infrun.c.

References infcall_suspend_state::registers, infcall_suspend_state::siginfo_data, and xfree().

Referenced by remove_dummy_frame(), and restore_infcall_suspend_state().

## ◆ displaced_step_clear()

static void displaced_step_clear | ( | struct displaced_step_inferior_state * | displaced | ) |
| static

Definition at line 1701 of file infrun.c.

References null_ptid, displaced_step_inferior_state::step_closure, and displaced_step_inferior_state::step_ptid.

Referenced by displaced_step_clear_cleanup(), and displaced_step_prepare_throw().

## ◆ displaced_step_clear_cleanup()

static void displaced_step_clear_cleanup | ( | void * | arg | ) |
| static

Definition at line 1711 of file infrun.c.

References displaced_step_clear().

Referenced by displaced_step_fixup(), and displaced_step_prepare_throw().

## ◆ displaced_step_dump_bytes()

void displaced_step_dump_bytes | ( | struct ui_file * | file,
|  | const gdb_byte * | buf,
|  | size_t | len
| ) |  |

Definition at line 1721 of file infrun.c.

References fprintf_unfiltered(), and fputs_unfiltered().

Referenced by amd64_displaced_step_copy_insn(), BP_MANIPULATION_ENDIAN(), displaced_step_prepare_throw(), i386_displaced_step_copy_insn(), resume_1(), and s390_displaced_step_copy_insn().

## ◆ displaced_step_fixup()

static int displaced_step_fixup | ( | ptid_t | event_ptid,
|  | enum gdb_signal | signal
| ) |  |
| static

Definition at line 1963 of file infrun.c.

References displaced_step_clear_cleanup(), displaced_step_restore(), do_cleanups(), gdbarch_displaced_step_fixup(), gdbarch_have_nonsteppable_watchpoint(), get_displaced_stepping_state(), get_thread_regcache(), make_cleanup(), null_ptid, ptid_equal(), ptid_get_pid(), regcache_read_pc(), regcache_write_pc(), displaced_step_inferior_state::step_closure, displaced_step_inferior_state::step_copy, displaced_step_inferior_state::step_gdbarch, displaced_step_inferior_state::step_original, displaced_step_inferior_state::step_ptid, switch_to_thread(), target_have_steppable_watchpoint, and target_stopped_by_watchpoint.

Referenced by finish_step_over(), handle_inferior_event_1(), set_gdbarch_displaced_step_fixup(), and stop_all_threads().

## ◆ displaced_step_in_progress()

static int displaced_step_in_progress | ( | int | pid | ) |
| static

Definition at line 1569 of file infrun.c.

References get_displaced_stepping_state(), null_ptid, pid, ptid_equal(), and displaced_step_inferior_state::step_ptid.

Referenced by do_target_resume(), and start_step_over().

## ◆ displaced_step_in_progress_any_inferior()

static int displaced_step_in_progress_any_inferior | ( | void |  | ) |
| static

Definition at line 1538 of file infrun.c.

References displaced_step_inferior_states, displaced_step_inferior_state::next, null_ptid, ptid_equal(), and displaced_step_inferior_state::step_ptid.

Referenced by start_step_over().

## ◆ displaced_step_in_progress_thread()

static int displaced_step_in_progress_thread | ( | ptid_t | ptid | ) |
| static

Definition at line 1555 of file infrun.c.

References gdb_assert, get_displaced_stepping_state(), null_ptid, ptid_equal(), ptid_get_pid(), and displaced_step_inferior_state::step_ptid.

Referenced by handle_inferior_event_1().

## ◆ displaced_step_prepare()

static int displaced_step_prepare | ( | ptid_t | ptid | ) |
| static

Definition at line 1888 of file infrun.c.

References _, AUTO_BOOLEAN_TRUE, can_use_displaced_stepping, CATCH, debug_infrun, displaced_step_prepare_throw(), END_CATCH, displaced_step_inferior_state::failed_before, fprintf_unfiltered(), gdb_stdlog, get_displaced_stepping_state(), MEMORY_ERROR, NOT_SUPPORTED_ERROR, ptid_get_pid(), RETURN_MASK_ERROR, throw_exception(), TRY, and warning().

Referenced by resume_1().

## ◆ displaced_step_prepare_throw()

static int displaced_step_prepare_throw | ( | ptid_t | ptid | ) |
| static

Definition at line 1749 of file infrun.c.

References _, add_displaced_stepping_state(), regcache::arch(), regcache::aspace(), breakpoint_in_range_p(), thread_info::control, debug_displaced, discard_cleanups(), displaced_step_clear(), displaced_step_clear_cleanup(), displaced_step_dump_bytes(), do_cleanups(), find_thread_ptid(), fprintf_unfiltered(), free_current_contents(), gdb_assert, gdb_stdlog, gdbarch_displaced_step_copy_insn(), gdbarch_displaced_step_copy_insn_p(), gdbarch_displaced_step_location(), gdbarch_max_insn_length(), get_thread_regcache(), inferior_ptid, make_cleanup(), make_scoped_restore(), thread_control_state::may_range_step, MEMORY_ERROR, null_ptid, paddress(), thread_info::ptid, regcache::ptid(), ptid_equal(), ptid_get_pid(), regcache_read_pc(), regcache_write_pc(), safe_strerror(), status, displaced_step_inferior_state::step_closure, displaced_step_inferior_state::step_copy, displaced_step_inferior_state::step_gdbarch, displaced_step_inferior_state::step_original, displaced_step_inferior_state::step_ptid, displaced_step_inferior_state::step_saved_copy, target_pid_to_str(), target_read_memory(), thread_step_over_chain_enqueue(), throw_error(), thread_control_state::trap_expected, and xmalloc().

Referenced by displaced_step_prepare().

## ◆ displaced_step_restore()

static void displaced_step_restore | ( | struct displaced_step_inferior_state * | displaced,
|  | ptid_t | ptid
| ) |  |
| static

Definition at line 1942 of file infrun.c.

References debug_displaced, fprintf_unfiltered(), gdb_stdlog, gdbarch_max_insn_length(), paddress(), displaced_step_inferior_state::step_copy, displaced_step_inferior_state::step_gdbarch, displaced_step_inferior_state::step_saved_copy, target_pid_to_str(), and write_memory_ptid().

Referenced by displaced_step_fixup(), and handle_inferior_event_1().

## ◆ do_restore_infcall_control_state_cleanup()

static void do_restore_infcall_control_state_cleanup | ( | void * | sts | ) |
| static

Definition at line 9045 of file infrun.c.

References restore_infcall_control_state().

Referenced by make_cleanup_restore_infcall_control_state().

## ◆ do_restore_infcall_suspend_state_cleanup()

static void do_restore_infcall_suspend_state_cleanup | ( | void * | state | ) |
| static

Definition at line 8905 of file infrun.c.

References restore_infcall_suspend_state().

Referenced by make_cleanup_restore_infcall_suspend_state().

## ◆ do_target_resume()

static void do_target_resume | ( | ptid_t | resume_ptid,
|  | int | step,
|  | enum gdb_signal | sig
| ) |  |
| static

Definition at line 2314 of file infrun.c.

References displaced_step_in_progress(), gdb_assert, target_terminal::inferior(), inferior_thread(), thread_info::ptid, ptid_get_pid(), signal_pass, step_over_info_valid_p(), thread_info::stop_requested, thread_suspend_state::stop_signal, thread_info::suspend, target_commit_resume(), target_pass_signals(), and target_resume().

Referenced by keep_going_stepped_thread(), and resume_1().

## ◆ do_target_wait()

static ptid_t do_target_wait | ( | ptid_t | ptid,
|  | struct target_waitstatus * | status,
|  | int | options
| ) |  |
| static

Definition at line 3495 of file infrun.c.

References regcache::arch(), regcache::aspace(), breakpoint_inserted_here_p(), debug_infrun, deprecated_target_wait_hook, find_thread_ptid(), fprintf_unfiltered(), gdb_assert, gdb_stdlog, gdbarch_decr_pc_after_break(), get_thread_regcache(), infrun_async_inferior_event_token, target_waitstatus::kind, mark_async_event_handler(), minus_one_ptid, paddress(), thread_info::prev_pc, thread_info::ptid, ptid_equal(), ptid_is_pid(), random_pending_event_thread(), regcache::regcache(), regcache_read_pc(), regcache_write_pc(), status, thread_suspend_state::stop_pc, thread_suspend_state::stop_reason, string, thread_info::suspend, target_is_async_p, target_pid_to_str(), TARGET_STOPPED_BY_HW_BREAKPOINT, TARGET_STOPPED_BY_NO_REASON, TARGET_STOPPED_BY_SW_BREAKPOINT, target_supports_stopped_by_sw_breakpoint, target_wait(), TARGET_WAITKIND_SPURIOUS, target_waitstatus_to_string(), thread_suspend_state::waitstatus, and thread_suspend_state::waitstatus_pending_p.

Referenced by fetch_inferior_event(), prepare_for_detach(), and wait_for_inferior().

## ◆ end_stepping_range()

static void end_stepping_range | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 7830 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().

## ◆ fetch_inferior_event()

void fetch_inferior_event | ( | void * | client_data | ) |

Definition at line 3861 of file infrun.c.

References _, all_uis_check_sync_execution_done(), clean_up_just_stopped_threads_fsms(), current_ui, debug_infrun, delete_just_stopped_threads_infrun_breakpoints(), delete_just_stopped_threads_infrun_breakpoints_cleanup(), discard_cleanups(), do_cleanups(), do_target_wait(), gdb::optional< T >::emplace(), execution_control_state::event_thread, exec_done_display_p, execution_direction, find_inferior_ptid(), finish_thread_state_cleanup(), handle_inferior_event(), INF_EXEC_COMPLETE, inferior_event_handler(), inferior_ptid, is_running(), keep_going(), main_ui, make_bpstat_clear_actions_cleanup(), make_cleanup(), make_cleanup_restore_current_traceframe(), make_scoped_restore(), memset(), minus_one_ptid, NO_STOP_QUIETLY, non_stop, normal_stop(), null_cleanup(), null_ptid, overlay_cache_invalid, print_target_wait_results(), printf_unfiltered(), execution_control_state::ptid, ptid_equal(), reinstall_readline_callback_handler_cleanup(), set_current_traceframe(), target_can_async_p, target_dcache_invalidate(), target_execution_direction, target_is_non_stop_p(), TARGET_WNOHANG, thread_info::thread_fsm, thread_fsm_should_notify_stop(), thread_fsm_should_stop(), execution_control_state::wait_some_more, and execution_control_state::ws.

Referenced by inferior_event_handler().

## ◆ fill_in_stop_func()

static void fill_in_stop_func | ( | struct gdbarch * | gdbarch,
|  | struct execution_control_state * | ecs
| ) |  |
| static

Definition at line 4295 of file infrun.c.

References find_pc_partial_function(), gdbarch_deprecated_function_start_offset(), gdbarch_skip_entrypoint(), gdbarch_skip_entrypoint_p(), 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 stop_pc.

Referenced by handle_step_into_function(), handle_step_into_function_backward(), and process_event_stop_test().

## ◆ finish_step_over()

static int finish_step_over | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 5543 of file infrun.c.

References clear_step_over_info(), context_switch(), thread_info::control, currently_stepping(), debug_infrun, displaced_step_fixup(), execution_control_state::event_thread, thread_info::executing, fprintf_unfiltered(), gdb_assert, gdb_stdlog, get_thread_regcache(), infrun_async_inferior_event_token, insert_breakpoints(), iterate_over_threads(), mark_async_event_handler(), paddress(), prepare_to_wait(), thread_info::ptid, execution_control_state::ptid, regcache::regcache(), regcache_read_pc(), restart_threads(), thread_info::resumed, resumed_thread_with_pending_status(), save_waitstatus(), start_step_over(), step_over_info_valid_p(), thread_info::stepping_over_breakpoint, thread_info::stepping_over_watchpoint, thread_suspend_state::stop_pc, thread_suspend_state::stop_signal, thread_info::suspend, target_gdbarch(), target_is_non_stop_p(), target_pid_to_str(), thread_control_state::trap_expected, and execution_control_state::ws.

Referenced by handle_signal_stop().

## ◆ follow_exec()

static void follow_exec | ( | ptid_t | ptid,
|  | char * | exec_file_target
| ) |  |
| static

Definition at line 1078 of file infrun.c.

References _, add_inferior_with_spaces(), add_thread(), ALL_THREADS_SAFE, breakpoint_init_inferior(), breakpoint_re_set(), thread_info::control, current_inferior(), current_program_space, delete_thread(), do_cleanups(), thread_control_state::exception_resume_breakpoint, exec_file_find(), exit_inferior_num_silent(), follow_exec_mode_new, follow_exec_mode_string, gdb_assert, gdb_flush(), gdb_stdout, inf_execd, inferior_thread(), insert_breakpoints(), jit_inferior_created_hook(), make_cleanup(), mark_breakpoints_out(), no_shared_libraries(), inf::pid, pid, pid_to_ptid(), printf_unfiltered(), thread_info::ptid, ptid_equal(), ptid_get_pid(), set_current_inferior(), set_current_program_space(), thread_control_state::single_step_breakpoints, solib_create_inferior_hook(), thread_control_state::step_range_end, thread_control_state::step_range_start, thread_control_state::step_resume_breakpoint, thread_info::stop_requested, SYMFILE_DEFER_BP_RESET, target_clear_description(), target_find_description(), target_follow_exec(), target_pid_to_str(), try_open_exec_file(), update_breakpoints_after_exec(), warning(), and xfree().

Referenced by handle_inferior_event_1().

## ◆ follow_fork()

static int follow_fork | ( | void |  | ) |
| static

Definition at line 656 of file infrun.c.

References _, clone_momentary_breakpoint(), thread_info::control, delete_exception_resume_breakpoint(), delete_step_resume_breakpoint(), detach_fork, thread_control_state::exception_resume_breakpoint, find_thread_ptid(), follow_fork_inferior(), follow_fork_mode_child, follow_fork_mode_string, follow_inferior_reset_breakpoints(), get_last_target_status(), inferior_ptid, inferior_thread(), internal_error(), target_waitstatus::kind, minus_one_ptid, non_stop, null_frame_id, nullify_last_target_wait_ptid(), thread_info::pending_follow, ptid_equal(), target_waitstatus::related_pid, thread_control_state::step_frame_id, thread_control_state::step_range_end, thread_control_state::step_range_start, thread_control_state::step_resume_breakpoint, switch_to_thread(), TARGET_WAITKIND_FORKED, TARGET_WAITKIND_SPURIOUS, TARGET_WAITKIND_VFORKED, thread_info::thread_fsm, target_waitstatus::value, and warning().

Referenced by handle_inferior_event_1(), and proceed().

## ◆ follow_fork_inferior()

static int follow_fork_inferior | ( | int | follow_child,
|  | int | detach_fork
| ) |  |
| static

Definition at line 418 of file infrun.c.

References _, add_inferior(), add_program_space(), add_thread(), program_space::aspace, inferior::aspace, inferior::attach_flag, program_space::breakpoints_not_allowed, clone_program_space(), copy_inferior_target_desc_info(), copy_terminal_info(), current_inferior(), current_ui, debug_infrun, detach_fork, fprintf_filtered(), gdb_assert, gdb_stderr, gdb_stdlog, inferior::gdbarch, inferior_ptid, inferior_thread(), info_verbose, target_waitstatus::kind, new_address_space(), non_stop, target_terminal::ours_for_output(), inferior::pending_detach, thread_info::pending_follow, pid_to_ptid(), PROMPT_BLOCKED, ui::prompt_state, inferior::pspace, ptid_get_pid(), target_waitstatus::related_pid, inferior::removable, remove_breakpoints_pid(), sched_multi, set_current_inferior(), set_current_program_space(), solib_create_inferior_hook(), inferior::symfile_flags, SYMFILE_NO_READ, target_detach(), target_follow_fork(), target_pid_to_str(), TARGET_WAITKIND_VFORKED, target_waitstatus::value, inferior::vfork_child, inferior::vfork_parent, and inferior::waiting_for_vfork_done.

Referenced by follow_fork().

## ◆ follow_inferior_reset_breakpoints()

static void follow_inferior_reset_breakpoints | ( | void |  | ) |
| static

Definition at line 817 of file infrun.c.

References breakpoint_re_set(), breakpoint_re_set_thread(), thread_info::control, bp_location::enabled, thread_control_state::exception_resume_breakpoint, inferior_thread(), insert_breakpoints(), breakpoint::loc, and thread_control_state::step_resume_breakpoint.

Referenced by follow_fork().

## ◆ for_each_just_stopped_thread()

static void for_each_just_stopped_thread | ( | for_each_just_stopped_thread_callback_func | func | ) |
| static

Definition at line 3368 of file infrun.c.

References ALL_NON_EXITED_THREADS, func, inferior_ptid, inferior_thread(), null_ptid, ptid_equal(), 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().

## ◆ gdb_signal_from_command()

enum gdb_signal gdb_signal_from_command | ( | int | num | ) |

Definition at line 8666 of file infrun.c.

References _, and error().

Referenced by catch_signal_split_args(), handle_command(), info_signals_command(), queue_signal_command(), and signal_command().

## ◆ get_displaced_step_closure_by_addr()

struct displaced_step_closure* get_displaced_step_closure_by_addr | ( | CORE_ADDR | addr | ) |

Definition at line 1608 of file infrun.c.

References get_displaced_stepping_state(), inferior_ptid, null_ptid, ptid_equal(), ptid_get_pid(), displaced_step_inferior_state::step_closure, displaced_step_inferior_state::step_copy, and displaced_step_inferior_state::step_ptid.

Referenced by arm_pc_is_thumb().

## ◆ get_displaced_stepping_state()

static struct displaced_step_inferior_state* get_displaced_stepping_state | ( | int | pid | ) |
| static

Definition at line 1521 of file infrun.c.

References displaced_step_inferior_states, displaced_step_inferior_state::next, displaced_step_inferior_state::pid, and pid.

Referenced by displaced_step_fixup(), displaced_step_in_progress(), displaced_step_in_progress_thread(), displaced_step_prepare(), get_displaced_step_closure_by_addr(), handle_inferior_event_1(), prepare_for_detach(), resume_1(), and use_displaced_stepping().

## ◆ get_infcall_suspend_state_regcache()

struct regcache* get_infcall_suspend_state_regcache | ( | struct infcall_suspend_state * | inf_state | ) |

Definition at line 8926 of file infrun.c.

References infcall_suspend_state::registers.

Referenced by dummy_frame_sniffer().

## ◆ get_inferior_stop_soon()

static enum stop_kind get_inferior_stop_soon | ( | ptid_t | ptid | ) |
| static

Definition at line 4319 of file infrun.c.

References find_inferior_ptid(), and gdb_assert.

Referenced by handle_inferior_event_1(), and handle_signal_stop().

## ◆ get_last_target_status()

void get_last_target_status | ( | ptid_t * | ptidp,
|  | struct target_waitstatus * | status
| ) |  |

Definition at line 4037 of file infrun.c.

References status, target_last_wait_ptid, and target_last_waitstatus.

Referenced by checkpoint_command(), continue_command(), follow_fork(), get_detach_signal(), info_program_command(), normal_stop(), print_it_catch_syscall(), print_stop_event(), proc_set_current_signal(), and signal_catchpoint_print_it().

## ◆ get_stop_id()

ULONGEST get_stop_id | ( | void |  | ) |

Definition at line 2777 of file infrun.c.

References current_stop_id.

Referenced by save_stop_context(), and stop_context_changed().

## ◆ handle_command()

static void handle_command | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 8467 of file infrun.c.

References _, cleanup::arg, error(), error_no_arg(), gdb_flush(), gdb_signal_from_command(), gdb_signal_from_name(), gdb_signal_to_name(), gdb_stdout, memset(), printf_unfiltered(), 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.

Referenced by _initialize_infrun().

## ◆ handle_completer()

static void handle_completer | ( | struct cmd_list_element * | ignore,
|  | completion_tracker & | tracker,
|  | const char * | text,
|  | const char * | word
| ) |  |
| static

Definition at line 8643 of file infrun.c.

References complete_on_enum(), ignore(), and signal_completer().

Referenced by _initialize_infrun().

## ◆ handle_inferior_event()

static void handle_inferior_event | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 5410 of file infrun.c.

References handle_inferior_event_1(), value_free_to_mark(), and value_mark().

Referenced by fetch_inferior_event(), prepare_for_detach(), and wait_for_inferior().

## ◆ handle_inferior_event_1()

static void handle_inferior_event_1 | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 4803 of file infrun.c.

References _, add_thread(), adjust_pc_after_break(), regcache::arch(), regcache::aspace(), inferior::aspace, bpstat_causes_stop(), bpstat_stop_status(), breakpoint_inserted_here_p(), breakpoint_retire_moribund(), program_space::breakpoints_not_allowed, clear_exit_convenience_vars(), context_switch(), thread_info::control, current_inferior(), debug_displaced, debug_infrun, delete_just_stopped_threads_single_step_breakpoints(), detach_breakpoints(), detach_fork, displaced_step_fixup(), displaced_step_in_progress_thread(), displaced_step_restore(), execution_control_state::event_thread, target_waitstatus::execd_pathname, inferior::exit_code, find_inferior_ptid(), find_thread_ptid(), follow_exec(), follow_fork(), follow_fork_mode_child, follow_fork_mode_string, fprintf_filtered(), fprintf_unfiltered(), gdb_flush(), gdb_stdlog, gdb_stdout, gdbarch_gdb_signal_to_target(), gdbarch_gdb_signal_to_target_p(), get_current_regcache(), get_displaced_stepping_state(), 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(), inferior::has_exit_code, inferior_ptid, inferior_thread(), insert_breakpoints(), target_waitstatus::integer, internal_error(), keep_going(), target_waitstatus::kind, lookup_internalvar(), thread_control_state::may_range_step, minus_one_ptid, NO_STOP_QUIETLY, non_stop, observer_notify_exited(), observer_notify_no_history(), observer_notify_signal_exited(), target_terminal::ours(), paddress(), thread_info::pending_follow, pid_to_ptid(), prepare_to_wait(), process_event_stop_test(), inferior::pspace, execution_control_state::ptid, ptid_equal(), ptid_get_pid(), regcache::regcache(), regcache_read_pc(), regcache_write_pc(), reinit_frame_cache(), target_waitstatus::related_pid, resume(), return_child_result_value, sched_multi, set_current_inferior(), set_current_program_space(), set_executing(), set_internalvar_integer(), set_last_target_status(), set_resumed(), set_running(), target_waitstatus::sig, start_step_over(), thread_control_state::stop_bpstat, STOP_NONE, stop_on_solib_events, stop_pc, stop_print_frame, STOP_QUIETLY, STOP_QUIETLY_NO_SIGSTOP, STOP_QUIETLY_REMOTE, thread_suspend_state::stop_signal, stop_stack_dummy, stop_waiting(), thread_info::suspend, switch_back_to_stepped_thread(), switch_to_thread(), switch_to_thread_no_regs(), 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, target_waitstatus::value, inferior::waiting_for_vfork_done, execution_control_state::ws, and xfree().

Referenced by handle_inferior_event().

## ◆ handle_no_resumed()

static int handle_no_resumed | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 4681 of file infrun.c.

References ALL_INFERIORS, ALL_NON_EXITED_THREADS, ALL_UIS, any_live_thread_of_process(), debug_infrun, thread_info::executing, fprintf_unfiltered(), gdb_stdlog, arm-linux::inf, inf::pid, prepare_to_wait(), PROMPT_BLOCKED, ui::prompt_state, thread_info::suspend, target_can_async_p, ui::ui(), update_thread_list(), and thread_suspend_state::waitstatus_pending_p.

Referenced by handle_inferior_event_1().

## ◆ handle_segmentation_fault()

static void handle_segmentation_fault | ( | struct ui_out * | uiout | ) |
| static

Definition at line 7917 of file infrun.c.

References regcache::arch(), gdbarch_handle_segmentation_fault(), gdbarch_handle_segmentation_fault_p(), and get_current_regcache().

Referenced by print_signal_received_reason(), and set_gdbarch_handle_segmentation_fault().

## ◆ handle_signal_stop()

static void handle_signal_stop | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 5661 of file infrun.c.

References regcache::arch(), regcache::aspace(), bpstat_clear(), bpstat_explains_signal(), bpstat_stop_status(), clear_step_over_info(), context_switch(), thread_info::control, current_target, currently_stepping(), debug_infrun, delete_just_stopped_threads_single_step_breakpoints(), deprecated_context_hook, gdb::optional< T >::emplace(), execution_control_state::event_thread, find_inferior_ptid(), finish_step_over(), fprintf_unfiltered(), frame_id_eq(), gdb_assert, gdb_signal_to_symbol_string(), gdb_stdlog, gdbarch_decr_pc_after_break(), gdbarch_have_nonsteppable_watchpoint(), 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(), execution_control_state::hit_singlestep_breakpoint, target_terminal::inferior(), inferior_ptid, insert_hp_step_resume_breakpoint_at_frame(), keep_going(), target_waitstatus::kind, make_scoped_restore(), NO_STOP_QUIETLY, observer_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(), program_breakpoint_here_p(), thread_info::ptid, execution_control_state::ptid, ptid_equal(), ptid_to_global_thread_id(), record_full_gdb_operation_disable_set(), record_full_is_used(), regcache::regcache(), regcache_read_pc(), regcache_write_pc(), 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_control_state::step_stack_frame_id, thread_info::stepping_over_breakpoint, thread_info::stepping_over_watchpoint, thread_control_state::stop_bpstat, stop_pc, stop_print_frame, STOP_QUIETLY, STOP_QUIETLY_NO_SIGSTOP, STOP_QUIETLY_REMOTE, thread_info::stop_requested, thread_suspend_state::stop_signal, thread_control_state::stop_step, stop_waiting(), stopped_by_random_signal, thread_info::suspend, switch_back_to_stepped_thread(), target_have_steppable_watchpoint, target_pid_to_str(), 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, target_waitstatus::value, watchpoints_triggered(), and execution_control_state::ws.

Referenced by handle_inferior_event_1(), and handle_stop_requested().

## ◆ handle_step_into_function()

static void handle_step_into_function | ( | struct gdbarch * | gdbarch,
|  | struct execution_control_state * | ecs
| ) |  |
| static

Definition at line 7278 of file infrun.c.

References compunit_language(), 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(), 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 stop_pc.

Referenced by process_event_stop_test().

## ◆ handle_step_into_function_backward()

static void handle_step_into_function_backward | ( | struct gdbarch * | gdbarch,
|  | struct execution_control_state * | ecs
| ) |  |
| static

Definition at line 7354 of file infrun.c.

References compunit_language(), 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(), 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 stop_pc.

Referenced by process_event_stop_test().

## ◆ handle_stop_requested()

static bool handle_stop_requested | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 4233 of file infrun.c.

References execution_control_state::event_thread, handle_signal_stop(), target_waitstatus::kind, target_waitstatus::sig, thread_info::stop_requested, TARGET_WAITKIND_STOPPED, target_waitstatus::value, and execution_control_state::ws.

Referenced by handle_inferior_event_1(), and handle_syscall_event().

## ◆ handle_syscall_event()

static int handle_syscall_event | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 4251 of file infrun.c.

References regcache::aspace(), bpstat_causes_stop(), bpstat_stop_status(), catch_syscall_enabled(), catching_syscall_number(), context_switch(), thread_info::control, debug_infrun, execution_control_state::event_thread, fprintf_unfiltered(), gdb_stdlog, get_thread_regcache(), handle_stop_requested(), inferior_ptid, keep_going(), execution_control_state::ptid, ptid_equal(), regcache::regcache(), regcache_read_pc(), thread_control_state::stop_bpstat, stop_pc, target_waitstatus::syscall_number, target_waitstatus::value, and execution_control_state::ws.

Referenced by handle_inferior_event_1().

## ◆ handle_vfork_child_exec_or_exit()

static void handle_vfork_child_exec_or_exit | ( | int | exec | ) |
| static

Definition at line 904 of file infrun.c.

References _, add_program_space(), any_live_thread_of_process(), program_space::aspace, clone_program_space(), current_inferior(), current_program_space, debug_infrun, gdb::optional< T >::emplace(), fprintf_filtered(), fprintf_unfiltered(), gdb_assert, gdb_stdlog, inferior_ptid, info_verbose, iterate_over_threads(), make_scoped_restore(), maybe_new_address_space(), non_stop, null_ptid, target_terminal::ours_for_output(), inf::pid, proceed_after_vfork_done(), thread_info::ptid, set_current_program_space(), switch_to_thread(), SYMFILE_NO_READ, and target_detach().

Referenced by handle_inferior_event_1().

## ◆ info_signals_command()

static void info_signals_command | ( | const char * | signum_exp,
|  | int | from_tty
| ) |  |
| static

Definition at line 8680 of file infrun.c.

References _, GDB_SIGNAL_FIRST, gdb_signal_from_command(), gdb_signal_from_name(), parse_and_eval_long(), printf_filtered(), QUIT, sig_print_header(), and sig_print_info().

Referenced by _initialize_infrun().

## ◆ infrun_async()

void infrun_async | ( | int | enable | ) |

Definition at line 106 of file infrun.c.

References clear_async_event_handler(), debug_infrun, enable, fprintf_unfiltered(), gdb_stdlog, infrun_async_inferior_event_token, infrun_is_async, and mark_async_event_handler().

Referenced by target_async().

## ◆ infrun_async_inferior_event_handler()

static void infrun_async_inferior_event_handler | ( | gdb_client_data | data | ) |
| static

Definition at line 9155 of file infrun.c.

References INF_REG_EVENT, and inferior_event_handler().

Referenced by _initialize_infrun().

## ◆ infrun_inferior_exit()

static void infrun_inferior_exit | ( | struct inferior * | inf | ) |
| static

Definition at line 1647 of file infrun.c.

References inf::pid, and remove_displaced_stepping_state().

Referenced by _initialize_infrun().

## ◆ infrun_thread_ptid_changed()

static void infrun_thread_ptid_changed | ( | ptid_t | old_ptid,
|  | ptid_t | new_ptid
| ) |  |
| static

Definition at line 2176 of file infrun.c.

References displaced_step_inferior_states, inferior_ptid, displaced_step_inferior_state::next, ptid_equal(), and displaced_step_inferior_state::step_ptid.

Referenced by _initialize_infrun().

## ◆ infrun_thread_stop_requested()

static void infrun_thread_stop_requested | ( | ptid_t | ptid | ) |
| static

Definition at line 3291 of file infrun.c.

References ALL_NON_EXITED_THREADS, clear_inline_frame_state(), thread_info::executing, target_waitstatus::kind, thread_info::ptid, ptid_match(), thread_info::resumed, target_waitstatus::sig, thread_info::state, step_over_info_valid_p(), thread_info::suspend, TARGET_WAITKIND_STOPPED, thread_is_in_step_over_chain(), THREAD_RUNNING, thread_step_over_chain_remove(), target_waitstatus::value, thread_suspend_state::waitstatus, and thread_suspend_state::waitstatus_pending_p.

Referenced by _initialize_infrun().

## ◆ infrun_thread_thread_exit()

static void infrun_thread_thread_exit | ( | struct thread_info * | tp,
|  | int | silent
| ) |  |
| static

Definition at line 3343 of file infrun.c.

References nullify_last_target_wait_ptid(), thread_info::ptid, ptid_equal(), and target_last_wait_ptid.

Referenced by _initialize_infrun().

## ◆ init_thread_stepping_state()

void init_thread_stepping_state | ( | struct thread_info * | tss | ) |

Definition at line 4014 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().

## ◆ init_wait_for_inferior()

void init_wait_for_inferior | ( | void |  | ) |

Definition at line 3252 of file infrun.c.

References breakpoint_init_inferior(), clear_inline_frame_state(), clear_proceed_status(), inf_starting, inferior_ptid, minus_one_ptid, previous_inferior_ptid, and target_last_wait_ptid.

Referenced by attach_command(), do_initial_windows_stuff(), extended_remote_create_inferior(), gdbsim_create_inferior(), remote_start_remote(), and run_command_1().

## ◆ insert_exception_resume_breakpoint()

static void insert_exception_resume_breakpoint | ( | struct thread_info * | tp,
|  | const struct block * | b,
|  | struct frame_info * | frame,
|  | struct symbol * | sym
| ) |  |
| static

Definition at line 7507 of file infrun.c.

References block_symbol::block, bp, bp_exception_resume, CATCH, thread_info::control, debug_infrun, END_CATCH, thread_control_state::exception_resume_breakpoint, fprintf_unfiltered(), gdb_stdlog, get_frame_arch(), thread_info::global_num, inferior_thread(), lookup_symbol_search_name(), read_var_value(), RETURN_MASK_ERROR, set_momentary_breakpoint_at_pc(), block_symbol::symbol, SYMBOL_SEARCH_NAME, TRY, value_as_address(), value_optimized_out(), and VAR_DOMAIN.

Referenced by check_exception_resume().

## ◆ insert_exception_resume_from_probe()

static void insert_exception_resume_from_probe | ( | struct thread_info * | tp,
|  | const struct bound_probe * | probe,
|  | struct frame_info * | frame
| ) |  |
| static

Definition at line 7554 of file infrun.c.

References bp, bp_exception_resume, thread_info::control, debug_infrun, thread_control_state::exception_resume_breakpoint, fprintf_unfiltered(), gdb_stdlog, get_frame_arch(), get_objfile_arch(), thread_info::global_num, inferior_thread(), paddress(), probe_safe_evaluate_at_pc(), set_momentary_breakpoint_at_pc(), and value_as_address().

Referenced by check_exception_resume().

## ◆ insert_hp_step_resume_breakpoint_at_frame()

static void insert_hp_step_resume_breakpoint_at_frame | ( | struct frame_info * | return_frame | ) |
| static

Definition at line 7429 of file infrun.c.

References bp_hp_step_resume, find_pc_overlay(), gdb_assert, 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().

## ◆ insert_longjmp_resume_breakpoint()

static void insert_longjmp_resume_breakpoint | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | pc
| ) |  |
| static

Definition at line 7484 of file infrun.c.

References bp_longjmp_resume, thread_info::control, debug_infrun, thread_control_state::exception_resume_breakpoint, fprintf_unfiltered(), gdb_assert, gdb_stdlog, inferior_thread(), paddress(), and set_momentary_breakpoint_at_pc().

Referenced by process_event_stop_test().

## ◆ insert_step_resume_breakpoint_at_caller()

static void insert_step_resume_breakpoint_at_caller | ( | struct frame_info * | next_frame | ) |
| static

Definition at line 7460 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(), gdb_assert, 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().

## ◆ insert_step_resume_breakpoint_at_sal()

void insert_step_resume_breakpoint_at_sal | ( | struct gdbarch * | gdbarch,
|  | struct symtab_and_line | sr_sal,
|  | struct frame_id | sr_id
| ) |  |

Definition at line 7412 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().

## ◆ insert_step_resume_breakpoint_at_sal_1()

static void insert_step_resume_breakpoint_at_sal_1 | ( | struct gdbarch * | gdbarch,
|  | struct symtab_and_line | sr_sal,
|  | struct frame_id | sr_id,
|  | enum bptype | sr_type
| ) |  |
| static

Definition at line 7391 of file infrun.c.

References bp_hp_step_resume, bp_step_resume, thread_info::control, debug_infrun, fprintf_unfiltered(), gdb_assert, gdb_stdlog, inferior_thread(), 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().

## ◆ internal_resume_ptid()

static ptid_t internal_resume_ptid | ( | int | user_step | ) |
| static

Definition at line 2298 of file infrun.c.

References inferior_ptid, target_is_non_stop_p(), and user_visible_resume_ptid().

Referenced by keep_going_stepped_thread(), and resume_1().

## ◆ keep_going()

static void keep_going | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 7799 of file infrun.c.

References thread_info::control, execution_control_state::event_thread, keep_going_pass_signal(), signal_program, thread_suspend_state::stop_signal, thread_info::suspend, and thread_control_state::trap_expected.

Referenced by fetch_inferior_event(), get_next_token_for_substitution(), handle_inferior_event_1(), handle_signal_stop(), handle_step_into_function(), handle_step_into_function_backward(), handle_syscall_event(), process_event_stop_test(), recursively_search_psymtabs(), substitute_args(), and switch_back_to_stepped_thread().

## ◆ keep_going_pass_signal()

static void keep_going_pass_signal | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 7668 of file infrun.c.

References regcache::aspace(), CATCH, clear_step_over_info(), thread_info::control, debug_infrun, END_CATCH, execution_control_state::event_thread, exception_print(), fprintf_unfiltered(), gdb_assert, gdb_stderr, gdb_stdlog, get_current_regcache(), get_thread_regcache(), thread_info::global_num, execution_control_state::hit_singlestep_breakpoint, inferior_ptid, insert_breakpoints(), prepare_to_wait(), thread_info::prev_pc, thread_info::ptid, execution_control_state::ptid, ptid_equal(), regcache_read_pc(), resume(), thread_info::resumed, RETURN_MASK_ERROR, set_step_over_info(), STEP_OVER_BREAKPOINT, step_over_info_valid_p(), STEP_OVER_WATCHPOINT, stop_all_threads(), thread_suspend_state::stop_signal, stop_waiting(), thread_info::suspend, target_is_non_stop_p(), target_pid_to_str(), thread_step_over_chain_enqueue(), thread_still_needs_step_over(), thread_control_state::trap_expected, TRY, and use_displaced_stepping().

Referenced by keep_going(), keep_going_stepped_thread(), proceed(), restart_threads(), and start_step_over().

## ◆ keep_going_stepped_thread()

static int keep_going_stepped_thread | ( | struct thread_info * | tp | ) |
| static

Definition at line 7161 of file infrun.c.

References clear_step_over_info(), thread_info::control, debug_infrun, delete_thread(), do_target_resume(), fprintf_unfiltered(), gdb_stdlog, get_current_frame(), get_frame_address_space(), get_frame_arch(), get_thread_regcache(), insert_single_step_breakpoint(), internal_resume_ptid(), is_exited(), keep_going_pass_signal(), paddress(), thread_info::prev_pc, thread_info::ptid, regcache_read_pc(), reset_ecs(), thread_info::resumed, thread_control_state::stepping_command, stop_pc, switch_to_thread(), target_gdbarch(), target_thread_alive(), and thread_control_state::trap_expected.

Referenced by restart_threads(), and switch_back_to_stepped_thread().

## ◆ make_cleanup_restore_infcall_control_state()

struct cleanup* make_cleanup_restore_infcall_control_state | ( | struct infcall_control_state * | inf_status | ) |

Definition at line 9052 of file infrun.c.

References do_restore_infcall_control_state_cleanup(), and make_cleanup().

Referenced by call_function_by_hand_dummy().

## ◆ make_cleanup_restore_infcall_suspend_state()

struct cleanup* make_cleanup_restore_infcall_suspend_state | ( | struct infcall_suspend_state * | inf_state | ) |

Definition at line 8912 of file infrun.c.

References do_restore_infcall_suspend_state_cleanup(), and make_cleanup().

Referenced by call_function_by_hand_dummy().

## ◆ mark_infrun_async_event_handler()

void mark_infrun_async_event_handler | ( | void |  | ) |

Definition at line 127 of file infrun.c.

References infrun_async_inferior_event_token, and mark_async_event_handler().

Referenced by attach_command(), and prepare_to_wait().

## ◆ maybe_remove_breakpoints()

void maybe_remove_breakpoints | ( | void |  | ) |

Definition at line 8076 of file infrun.c.

References _, breakpoints_should_be_inserted_now(), target_terminal::ours_for_output(), printf_filtered(), remove_breakpoints(), and target_has_execution.

Referenced by call_function_by_hand_dummy(), and normal_stop().

## ◆ maybe_software_singlestep()

static int maybe_software_singlestep | ( | struct gdbarch * | gdbarch,
|  | CORE_ADDR | pc
| ) |  |
| static

Definition at line 2238 of file infrun.c.

References EXEC_FORWARD, execution_direction, gdbarch_software_single_step_p(), and insert_single_step_breakpoints().

Referenced by resume_1().

## ◆ new_stop_id()

static void new_stop_id | ( | void |  | ) |
| static

Definition at line 2785 of file infrun.c.

References current_stop_id.

Referenced by normal_stop().

## ◆ normal_stop()

int normal_stop | ( | void |  | ) |

Definition at line 8167 of file infrun.c.

References _, annotate_stopped(), annotate_thread_changed(), async_enable_stdin(), breakpoint_auto_delete(), CATCH, current_ui, disable_current_display(), do_cleanups(), DUMMY_FRAME, END_CATCH, exception_fprintf(), execute_cmd_pre_hook(), finish_thread_state_cleanup(), frame_pop(), gdb_assert, gdb_stderr, get_current_frame(), get_frame_type(), get_last_target_status(), has_stack_frames(), inferior_ptid, inferior_thread(), target_waitstatus::kind, make_cleanup(), maybe_remove_breakpoints(), minus_one_ptid, new_stop_id(), non_stop, null_cleanup(), null_ptid, observer_notify_normal_stop(), observer_notify_signal_received(), target_terminal::ours_for_output(), pid_to_ptid(), previous_inferior_ptid, printf_filtered(), PROMPT_BLOCKED, ui::prompt_state, prune_inferiors(), ptid_equal(), ptid_get_pid(), release_stop_context_cleanup(), RETURN_MASK_ALL, save_stop_context(), saved_context, select_frame(), set_current_sal_from_frame(), stop_command, stop_context_changed(), 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, TRY, and update_thread_list().

Referenced by attach_post_wait(), fetch_inferior_event(), proceed(), start_remote(), and step_1().

## ◆ nullify_last_target_wait_ptid()

void nullify_last_target_wait_ptid | ( | void |  | ) |

Definition at line 4044 of file infrun.c.

References minus_one_ptid, and target_last_wait_ptid.

Referenced by follow_fork(), fork_load_infrun_state(), and infrun_thread_thread_exit().

## ◆ prepare_for_detach()

void prepare_for_detach | ( | void |  | ) |

Definition at line 3627 of file infrun.c.

References _, current_inferior(), debug_infrun, discard_cleanups(), do_target_wait(), error(), finish_thread_state_cleanup(), fprintf_unfiltered(), gdb_stdlog, get_displaced_stepping_state(), handle_inferior_event(), make_cleanup(), make_scoped_restore(), memset(), minus_one_ptid, null_ptid, overlay_cache_invalid, inf::pid, pid_to_ptid(), print_target_wait_results(), execution_control_state::ptid, ptid_equal(), scoped_restore_base::release(), displaced_step_inferior_state::step_ptid, target_dcache_invalidate(), execution_control_state::wait_some_more, and execution_control_state::ws.

Referenced by target_detach().

## ◆ prepare_to_wait()

static void prepare_to_wait | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 7815 of file infrun.c.

References debug_infrun, fprintf_unfiltered(), gdb_stdlog, mark_infrun_async_event_handler(), target_is_async_p, and execution_control_state::wait_some_more.

Referenced by finish_step_over(), handle_inferior_event_1(), handle_no_resumed(), keep_going_pass_signal(), and switch_back_to_stepped_thread().

## ◆ print_end_stepping_range_reason()

void print_end_stepping_range_reason | ( | struct ui_out * | uiout | ) |

Definition at line 7848 of file infrun.c.

References async_reason_lookup(), EXEC_ASYNC_END_STEPPING_RANGE, ui_out::field_string(), and ui_out::is_mi_like_p().

Referenced by cli_on_end_stepping_range(), mi_on_end_stepping_range(), and tui_on_end_stepping_range().

## ◆ print_exited_reason()

void print_exited_reason | ( | struct ui_out * | uiout,
|  | int | exitstatus
| ) |  |

Definition at line 7881 of file infrun.c.

References annotate_exited(), async_reason_lookup(), current_inferior(), EXEC_ASYNC_EXITED, EXEC_ASYNC_EXITED_NORMALLY, ui_out::field_fmt(), ui_out::field_string(), ui_out::is_mi_like_p(), inf::pid, pid_to_ptid(), plongest(), target_pid_to_str(), and ui_out::text().

Referenced by cli_on_exited(), mi_on_exited(), and tui_on_exited().

## ◆ print_no_history_reason()

void print_no_history_reason | ( | struct ui_out * | uiout | ) |

Definition at line 7977 of file infrun.c.

References ui_out::text().

Referenced by cli_on_no_history(), mi_on_no_history(), and tui_on_no_history().

## ◆ print_signal_exited_reason()

void print_signal_exited_reason | ( | struct ui_out * | uiout,
|  | enum gdb_signal | siggnal
| ) |  |

Definition at line 7860 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(), gdb_signal_to_name(), gdb_signal_to_string(), ui_out::is_mi_like_p(), and ui_out::text().

Referenced by cli_on_signal_exited(), mi_on_signal_exited(), and tui_on_signal_exited().

## ◆ print_signal_received_reason()

void print_signal_received_reason | ( | struct ui_out * | uiout,
|  | enum gdb_signal | siggnal
| ) |  |

Definition at line 7927 of file infrun.c.

References annotate_signal(), annotate_signal_name(), annotate_signal_name_end(), annotate_signal_string(), annotate_signal_string_end(), async_reason_lookup(), EXEC_ASYNC_SIGNAL_RECEIVED, ui_out::field_fmt(), ui_out::field_string(), gdb_signal_to_name(), gdb_signal_to_string(), handle_segmentation_fault(), inferior_thread(), ui_out::is_mi_like_p(), name, thread_info::name, print_thread_id(), show_thread_that_caused_stop(), target_thread_name(), and ui_out::text().

Referenced by cli_on_signal_received(), mi_on_signal_received(), and tui_on_signal_received().

## ◆ print_stop_event()

void print_stop_event | ( | struct ui_out * | uiout | ) |

Definition at line 8044 of file infrun.c.

References current_uiout, do_displays(), get_last_target_status(), inferior_thread(), make_scoped_restore(), print_return_value(), print_stop_location(), thread_info::thread_fsm, thread_fsm_finished_p(), and thread_fsm_return_value().

Referenced by cli_on_normal_stop(), mi_on_normal_stop_1(), and tui_on_normal_stop().

## ◆ print_stop_location()

static void print_stop_location | ( | struct target_waitstatus * | ws | ) |
| static

Definition at line 7988 of file infrun.c.

References _, bpstat_print(), thread_info::control, find_pc_function(), frame_id_eq(), get_current_frame(), get_frame_id(), get_selected_frame(), inferior_thread(), internal_error(), 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_frame_id, thread_control_state::step_start_function, thread_control_state::stop_bpstat, stop_pc, and thread_control_state::stop_step.

Referenced by print_stop_event().

## ◆ print_target_wait_results()

void print_target_wait_results | ( | ptid_t | waiton_ptid,
|  | ptid_t | result_ptid,
|  | const struct target_waitstatus * | ws
| ) |  |

Definition at line 3419 of file infrun.c.

References string_file::c_str(), fprintf_unfiltered(), gdb_stdlog, ui_file::printf(), ptid_get_lwp(), ptid_get_pid(), ptid_get_tid(), string, target_pid_to_str(), and target_waitstatus_to_string().

Referenced by fetch_inferior_event(), prepare_for_detach(), process_initial_stop_replies(), wait_for_inferior(), and wait_one().

## ◆ proceed()

void proceed | ( | CORE_ADDR | addr,
|  | enum gdb_signal | siggnal
| ) |  |

Definition at line 2977 of file infrun.c.

References _, ALL_NON_EXITED_THREADS, annotate_starting(), regcache::arch(), regcache::aspace(), breakpoint_here_p(), thread_info::control, debug_infrun, discard_cleanups(), error(), EXEC_REVERSE, thread_info::executing, execution_direction, finish_thread_state_cleanup(), follow_fork(), fprintf_unfiltered(), gdb_assert, gdb_flush(), gdb_signal_to_symbol_string(), gdb_stdlog, gdb_stdout, gdbarch_single_step_through_delay(), gdbarch_single_step_through_delay_p(), get_current_frame(), get_current_regcache(), thread_control_state::in_infcall, INF_EXEC_COMPLETE, target_terminal::inferior(), inferior_event_handler(), inferior_ptid, inferior_thread(), infrun_async_inferior_event_token, init_thread_stepping_state(), keep_going_pass_signal(), make_cleanup(), make_scoped_defer_target_commit_resume(), mark_async_event_handler(), non_stop, normal_stop(), ordinary_breakpoint_here, paddress(), thread_info::prev_pc, previous_inferior_ptid, thread_info::ptid, ptid_match(), regcache::regcache(), regcache_read_pc(), regcache_write_pc(), reset_ecs(), thread_info::resumed, schedlock_applies(), set_running(), start_step_over(), step_over_info_valid_p(), thread_control_state::stepping_command, thread_info::stepping_over_breakpoint, stop_pc, thread_suspend_state::stop_signal, thread_info::suspend, switch_to_thread(), target_can_async_p, target_commit_resume(), target_is_non_stop_p(), target_pid_to_str(), thread_is_in_step_over_chain(), thread_step_over_chain_enqueue(), thread_still_needs_step_over(), user_visible_resume_ptid(), execution_control_state::wait_some_more, and thread_suspend_state::waitstatus_pending_p.

Referenced by attach_post_wait(), continue_1(), finish_backward(), finish_command(), finish_forward(), jump_command(), proceed_after_attach_callback(), 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().

## ◆ proceed_after_vfork_done()

static int proceed_after_vfork_done | ( | struct thread_info * | thread,
|  | void * | arg
| ) |  |
| static

Definition at line 860 of file infrun.c.

References clear_proceed_status(), debug_infrun, fprintf_unfiltered(), gdb_stdlog, is_executing(), is_running(), pid, proceed(), thread_info::ptid, ptid_get_pid(), thread_info::stop_requested, thread_suspend_state::stop_signal, thread_info::suspend, switch_to_thread(), and target_pid_to_str().

Referenced by handle_vfork_child_exec_or_exit().

## ◆ process_event_stop_test()

static void process_event_stop_test | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 6200 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, debug_infrun, delete_exception_resume_breakpoint(), delete_step_resume_breakpoint(), symtab_and_line::end, end_stepping_range(), 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(), fprintf_unfiltered(), frame_find_by_id(), frame_id_eq(), frame_id_p(), frame_unwind_caller_id(), function_name_is_marked_for_skip(), gdb_assert, gdb_stdlog, gdbarch_addr_bits_remove(), gdbarch_get_longjmp_target(), gdbarch_get_longjmp_target_p(), 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(), thread_info::initiating_frame, INLINE_FRAME, inline_skipped_frames(), insert_longjmp_resume_breakpoint(), insert_step_resume_breakpoint_at_caller(), insert_step_resume_breakpoint_at_sal(), bpstat_what::is_longjmp, keep_going(), symtab_and_line::line, breakpoint::loc, 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, execution_control_state::ptid, symtab_and_line::section, set_step_info(), SIGTRAMP_FRAME, skip_language_trampoline(), thread_info::step_after_step_resume_breakpoint, thread_control_state::step_frame_id, 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_stack_frame_id, 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_name, execution_control_state::stop_func_start, stop_pc, stop_print_frame, stop_stack_dummy, stop_waiting(), switch_back_to_stepped_thread(), symtab_and_line::symtab, breakpoint::type, and value_as_address().

Referenced by handle_inferior_event_1(), and handle_signal_stop().

## ◆ random_pending_event_thread()

static struct thread_info* random_pending_event_thread | ( | ptid_t | waiton_ptid | ) |
| static

Definition at line 3453 of file infrun.c.

References ALL_NON_EXITED_THREADS, debug_infrun, fprintf_unfiltered(), gdb_stdlog, thread_info::ptid, ptid_match(), thread_info::resumed, thread_info::suspend, and thread_suspend_state::waitstatus_pending_p.

Referenced by do_target_wait().

## ◆ reinstall_readline_callback_handler_cleanup()

static void reinstall_readline_callback_handler_cleanup | ( | void * | arg | ) |
| static

Definition at line 3763 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().

## ◆ release_stop_context_cleanup()

static void release_stop_context_cleanup | ( | void * | arg | ) |
| static

Definition at line 8138 of file infrun.c.

References refcounted_object::decref(), stop_context::thread, and xfree().

Referenced by normal_stop().

## ◆ remove_displaced_stepping_state()

static void remove_displaced_stepping_state | ( | int | pid | ) |
| static

Definition at line 1624 of file infrun.c.

References displaced_step_inferior_states, gdb_assert, displaced_step_inferior_state::next, displaced_step_inferior_state::pid, pid, and xfree().

Referenced by infrun_inferior_exit().

## ◆ reset_ecs()

static void reset_ecs | ( | struct execution_control_state * | ecs,
|  | struct thread_info * | tp
| ) |  |
| static

Definition at line 2047 of file infrun.c.

References execution_control_state::event_thread, memset(), thread_info::ptid, and execution_control_state::ptid.

Referenced by keep_going_stepped_thread(), proceed(), restart_threads(), and start_step_over().

## ◆ restart_threads()

static void restart_threads | ( | struct thread_info * | event_thread | ) |
| static

Definition at line 5426 of file infrun.c.

References ALL_NON_EXITED_THREADS, thread_info::control, currently_stepping(), debug_infrun, thread_info::executing, fprintf_unfiltered(), gdb_assert, gdb_stdlog, thread_control_state::in_infcall, internal_error(), keep_going_pass_signal(), keep_going_stepped_thread(), thread_info::ptid, reset_ecs(), thread_info::resumed, thread_info::state, thread_info::stop_requested, thread_info::suspend, switch_to_thread(), target_pid_to_str(), thread_is_in_step_over_chain(), THREAD_RUNNING, thread_still_needs_step_over(), update_thread_list(), and thread_suspend_state::waitstatus_pending_p.

Referenced by finish_step_over().

## ◆ restore_infcall_control_state()

void restore_infcall_control_state | ( | struct infcall_control_state * | inf_status | ) |

Definition at line 8999 of file infrun.c.

References bpstat_clear(), CATCH, thread_info::control, current_inferior(), disp_del_at_next_stop, breakpoint::disposition, END_CATCH, exception_fprintf(), thread_control_state::exception_resume_breakpoint, gdb_stderr, get_current_frame(), infcall_control_state::inferior_control, inferior_thread(), restore_selected_frame(), RETURN_MASK_ERROR, select_frame(), infcall_control_state::selected_frame_id, 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, infcall_control_state::thread_control, TRY, and xfree().

Referenced by call_function_by_hand_dummy(), and do_restore_infcall_control_state_cleanup().

## ◆ restore_infcall_suspend_state()

void restore_infcall_suspend_state | ( | struct infcall_suspend_state * | inf_state | ) |

Definition at line 8876 of file infrun.c.

References regcache::arch(), current_target, discard_infcall_suspend_state(), gdbarch_get_siginfo_type(), get_current_regcache(), inferior_thread(), regcache_cpy(), infcall_suspend_state::registers, infcall_suspend_state::siginfo_data, infcall_suspend_state::siginfo_gdbarch, stop_pc, infcall_suspend_state::stop_pc, thread_info::suspend, target_has_execution, TARGET_OBJECT_SIGNAL_INFO, target_write(), infcall_suspend_state::thread_suspend, and TYPE_LENGTH.

Referenced by do_restore_infcall_suspend_state_cleanup(), and pop_dummy_frame().

## ◆ restore_selected_frame()

static void restore_selected_frame | ( | const frame_id & | fid | ) |
| static

Definition at line 8981 of file infrun.c.

References _, frame_find_by_id(), select_frame(), and warning().

Referenced by restore_infcall_control_state().

## ◆ resume()

void resume | ( | gdb_signal | sig | ) |

Definition at line 2740 of file infrun.c.

References CATCH, delete_single_step_breakpoints(), END_CATCH, inferior_ptid, inferior_thread(), null_ptid, resume_1(), RETURN_MASK_ALL, throw_exception(), and TRY.

Referenced by handle_inferior_event_1(), and keep_going_pass_signal().

## ◆ resume_1()

static void resume_1 | ( | enum gdb_signal | sig | ) |
| static

Definition at line 2362 of file infrun.c.

References _, regcache::arch(), regcache::aspace(), bpstat_should_step(), breakpoint_here_p(), breakpoint_inserted_here_p(), clear_step_over_info(), thread_info::control, current_inferior(), currently_stepping(), debug_displaced, debug_infrun, delete_single_step_breakpoints(), displaced_step_dump_bytes(), displaced_step_prepare(), do_target_resume(), EXEC_REVERSE, execution_direction, fprintf_unfiltered(), gdb_assert, gdb_signal_to_name(), gdb_signal_to_symbol_string(), gdb_stdlog, gdbarch_cannot_step_breakpoint(), gdbarch_displaced_step_hw_singlestep(), gdbarch_skip_permanent_breakpoint(), get_current_frame(), get_current_regcache(), get_displaced_stepping_state(), get_thread_regcache(), thread_info::global_num, inferior_ptid, inferior_thread(), insert_breakpoints(), insert_hp_step_resume_breakpoint_at_frame(), insert_single_step_breakpoint(), internal_resume_ptid(), breakpoint::loc, thread_control_state::may_range_step, maybe_software_singlestep(), paddress(), pc_in_thread_step_range(), bp_location::permanent, permanent_breakpoint_here, thread_info::ptid, ptid_get_pid(), read_memory(), regcache_read_pc(), thread_info::resumed, set_step_over_info(), thread_info::step_after_step_resume_breakpoint, displaced_step_inferior_state::step_closure, 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, thread_suspend_state::stop_signal, string, thread_info::suspend, target_async(), target_can_async_p, target_is_non_stop_p(), target_pid_to_str(), target_waitstatus_to_string(), thread_has_single_step_breakpoints_set(), thread_is_in_step_over_chain(), thread_control_state::trap_expected, use_displaced_stepping(), thread_suspend_state::waitstatus, thread_suspend_state::waitstatus_pending_p, and warning().

Referenced by resume().

## ◆ resumed_thread_with_pending_status()

static int resumed_thread_with_pending_status | ( | struct thread_info * | tp,
|  | void * | arg
| ) |  |
| static

Definition at line 5529 of file infrun.c.

References thread_info::resumed, thread_info::suspend, and thread_suspend_state::waitstatus_pending_p.

Referenced by finish_step_over().

## ◆ save_infcall_control_state()

struct infcall_control_state* save_infcall_control_state | ( | void |  | ) |

Definition at line 8952 of file infrun.c.

References bpstat_copy(), thread_info::control, current_inferior(), thread_control_state::exception_resume_breakpoint, get_frame_id(), get_selected_frame(), infcall_control_state::inferior_control, inferior_thread(), infcall_control_state::selected_frame_id, 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, infcall_control_state::thread_control, and XNEW.

Referenced by call_function_by_hand_dummy().

## ◆ save_infcall_suspend_state()

struct infcall_suspend_state* save_infcall_suspend_state | ( | void |  | ) |

Definition at line 8824 of file infrun.c.

References regcache::arch(), current_target, discard_cleanups(), do_cleanups(), gdbarch_get_siginfo_type(), gdbarch_get_siginfo_type_p(), get_current_regcache(), inferior_thread(), make_cleanup(), regcache_dup(), infcall_suspend_state::registers, infcall_suspend_state::siginfo_data, infcall_suspend_state::siginfo_gdbarch, stop_pc, infcall_suspend_state::stop_pc, thread_suspend_state::stop_signal, thread_info::suspend, TARGET_OBJECT_SIGNAL_INFO, target_read(), infcall_suspend_state::thread_suspend, TYPE_LENGTH, XCNEW, xfree(), and xmalloc().

Referenced by call_function_by_hand_dummy().

## ◆ save_stop_context()

static struct stop_context* save_stop_context | ( | void |  | ) |
| static

Definition at line 8113 of file infrun.c.

References current_inferior(), get_stop_id(), refcounted_object::incref(), stop_context::inf_num, inferior_ptid, inferior_thread(), null_ptid, inferior::num, stop_context::ptid, ptid_equal(), stop_context::stop_id, stop_context::thread, and XNEW.

Referenced by normal_stop().

## ◆ save_waitstatus()

static void save_waitstatus | ( | struct thread_info * | tp,
|  | struct target_waitstatus * | ws
| ) |  |
| static

Definition at line 4387 of file infrun.c.

References adjust_pc_after_break(), regcache::aspace(), currently_stepping(), debug_infrun, fprintf_unfiltered(), gdb_stdlog, get_thread_regcache(), hardware_breakpoint_inserted_here_p(), target_waitstatus::kind, thread_info::ptid, ptid_get_lwp(), ptid_get_pid(), ptid_get_tid(), regcache::regcache(), regcache_read_pc(), target_waitstatus::sig, software_breakpoint_inserted_here_p(), thread_suspend_state::stop_reason, string, thread_info::suspend, TARGET_STOPPED_BY_HW_BREAKPOINT, TARGET_STOPPED_BY_SINGLE_STEP, TARGET_STOPPED_BY_SW_BREAKPOINT, TARGET_STOPPED_BY_WATCHPOINT, target_supports_stopped_by_hw_breakpoint, target_supports_stopped_by_sw_breakpoint, TARGET_WAITKIND_STOPPED, target_waitstatus_to_string(), thread_has_single_step_breakpoints_set(), target_waitstatus::value, thread_suspend_state::waitstatus, and thread_suspend_state::waitstatus_pending_p.

Referenced by finish_step_over(), and stop_all_threads().

## ◆ schedlock_applies()

static int schedlock_applies | ( | struct thread_info * | tp | ) |
| static

Definition at line 2954 of file infrun.c.

References thread_info::control, execution_direction, minus_one_ptid, 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().

## ◆ set_disable_randomization()

static void set_disable_randomization | ( | const char * | args,
|  | int | from_tty,
|  | struct cmd_list_element * | c
| ) |  |
| static

Definition at line 193 of file infrun.c.

References _, error(), and target_supports_disable_randomization().

Referenced by _initialize_infrun().

## ◆ set_exec_direction_func()

static void set_exec_direction_func | ( | const char * | args,
|  | int | from_tty,
|  | struct cmd_list_element * | cmd
| ) |  |
| static

Definition at line 9099 of file infrun.c.

References _, error(), exec_direction, EXEC_FORWARD, exec_forward, EXEC_REVERSE, exec_reverse, execution_direction, and target_can_execute_reverse.

Referenced by _initialize_infrun().

## ◆ set_last_target_status()

void set_last_target_status | ( | ptid_t | ptid,
|  | struct target_waitstatus | status
| ) |  |

Definition at line 4025 of file infrun.c.

References thread_info::ptid, status, target_last_wait_ptid, and target_last_waitstatus.

Referenced by handle_inferior_event_1(), and process_initial_stop_replies().

## ◆ set_non_stop()

static void set_non_stop | ( | const char * | args,
|  | int | from_tty,
|  | struct cmd_list_element * | c
| ) |  |
| static

Definition at line 208 of file infrun.c.

References _, error(), non_stop, non_stop_1, and target_has_execution.

Referenced by _initialize_infrun().

## ◆ set_observer_mode()

static void set_observer_mode | ( | const char * | args,
|  | int | from_tty,
|  | struct cmd_list_element * | c
| ) |  |
| static

Definition at line 237 of file infrun.c.

References _, error(), 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, printf_filtered(), target_has_execution, and update_target_permissions().

Referenced by _initialize_infrun().

## ◆ set_schedlock_func()

static void set_schedlock_func | ( | const char * | args,
|  | int | from_tty,
|  | struct cmd_list_element * | c
| ) |  |
| static

Definition at line 2217 of file infrun.c.

References _, error(), schedlock_off, scheduler_mode, target_can_lock_scheduler, and target_shortname.

Referenced by _initialize_infrun().

## ◆ set_step_info()

void set_step_info | ( | struct frame_info * | frame,
|  | struct symtab_and_line | sal
| ) |  |

Definition at line 4000 of file infrun.c.

References thread_info::control, thread_info::current_line, thread_info::current_symtab, get_frame_id(), get_stack_frame_id(), inferior_thread(), symtab_and_line::line, thread_control_state::step_frame_id, thread_control_state::step_stack_frame_id, and symtab_and_line::symtab.

Referenced by finish_command(), process_event_stop_test(), and set_step_frame().

## ◆ set_step_over_info()

static void set_step_over_info | ( | const address_space * | aspace,
|  | CORE_ADDR | address,
|  | int | nonsteppable_watchpoint_p,
|  | int | thread
| ) |  |
| static

Definition at line 1327 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().

## ◆ set_stop_on_solib_events()

static void set_stop_on_solib_events | ( | const char * | args,
|  | int | from_tty,
|  | struct cmd_list_element * | c
| ) |  |
| static

Definition at line 362 of file infrun.c.

References update_solib_breakpoints().

Referenced by _initialize_infrun().

## ◆ show_can_use_displaced_stepping()

static void show_can_use_displaced_stepping | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 1663 of file infrun.c.

References _, AUTO_BOOLEAN_AUTO, can_use_displaced_stepping, fprintf_filtered(), and target_is_non_stop_p().

Referenced by _initialize_infrun().

## ◆ show_debug_displaced()

static void show_debug_displaced | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 158 of file infrun.c.

References _, and fprintf_filtered().

Referenced by _initialize_infrun().

## ◆ show_debug_infrun()

static void show_debug_infrun | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 166 of file infrun.c.

References _, and fprintf_filtered().

Referenced by _initialize_infrun().

## ◆ show_disable_randomization()

static void show_disable_randomization | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 178 of file infrun.c.

References _, fprintf_filtered(), fputs_filtered(), and target_supports_disable_randomization().

Referenced by _initialize_infrun().

## ◆ show_exec_direction_func()

static void show_exec_direction_func | ( | struct ui_file * | out,
|  | int | from_tty,
|  | struct cmd_list_element * | cmd,
|  | const char * | value
| ) |  |
| static

Definition at line 9117 of file infrun.c.

References _, EXEC_FORWARD, EXEC_REVERSE, execution_direction, fprintf_filtered(), and internal_error().

Referenced by _initialize_infrun().

## ◆ show_follow_exec_mode_string()

static void show_follow_exec_mode_string | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 1069 of file infrun.c.

References _, and fprintf_filtered().

Referenced by _initialize_infrun().

## ◆ show_follow_fork_mode_string()

static void show_follow_fork_mode_string | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 401 of file infrun.c.

References _, and fprintf_filtered().

Referenced by _initialize_infrun().

## ◆ show_non_stop()

static void show_non_stop | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 221 of file infrun.c.

References _, and fprintf_filtered().

Referenced by _initialize_infrun().

## ◆ show_observer_mode()

static void show_observer_mode | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 273 of file infrun.c.

References _, and fprintf_filtered().

Referenced by _initialize_infrun().

## ◆ show_schedule_multiple()

static void show_schedule_multiple | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 9135 of file infrun.c.

References _, and fprintf_filtered().

Referenced by _initialize_infrun().

## ◆ show_scheduler_mode()

static void show_scheduler_mode | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 2207 of file infrun.c.

References _, and fprintf_filtered().

Referenced by _initialize_infrun().

## ◆ show_step_stop_if_no_debug()

static void show_step_stop_if_no_debug | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 137 of file infrun.c.

References _, and fprintf_filtered().

Referenced by _initialize_infrun().

## ◆ show_stop_on_solib_events()

static void show_stop_on_solib_events | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 369 of file infrun.c.

References _, and fprintf_filtered().

Referenced by _initialize_infrun().

## ◆ sig_print_header()

static void sig_print_header | ( | void |  | ) |
| static

Definition at line 8441 of file infrun.c.

References _, and printf_filtered().

Referenced by handle_command(), and info_signals_command().

## ◆ sig_print_info()

static void sig_print_info | ( | enum gdb_signal | oursig | ) |
| static

Definition at line 8448 of file infrun.c.

References gdb_signal_to_name(), gdb_signal_to_string(), name, printf_filtered(), signal_print, signal_program, and signal_stop.

Referenced by handle_command(), and info_signals_command().

## ◆ siginfo_make_value()

static struct value* siginfo_make_value | ( | struct gdbarch * | gdbarch,
|  | struct internalvar * | var,
|  | void * | ignore
| ) |  |
| static

Definition at line 8784 of file infrun.c.

References allocate_computed_value(), allocate_value(), gdbarch_get_siginfo_type(), gdbarch_get_siginfo_type_p(), inferior_ptid, null_ptid, ptid_equal(), siginfo_value_funcs, and target_has_stack.

## ◆ siginfo_value_read()

static void siginfo_value_read | ( | struct value * | v | ) |
| static

Definition at line 8731 of file infrun.c.

References _, current_target, error(), TARGET_OBJECT_SIGNAL_INFO, target_read(), TYPE_LENGTH, validate_registers_access(), value_contents_all_raw(), value_offset(), and value_type().

## ◆ siginfo_value_write()

static void siginfo_value_write | ( | struct value * | v,
|  | struct value * | fromval
| ) |  |
| static

Definition at line 8754 of file infrun.c.

References _, current_target, error(), TARGET_OBJECT_SIGNAL_INFO, target_write(), TYPE_LENGTH, validate_registers_access(), value_contents_all_raw(), value_offset(), and value_type().

## ◆ signal_cache_update()

static void signal_cache_update | ( | int | signo | ) |
| static

Definition at line 8380 of file infrun.c.

References signal_catch, signal_pass, signal_print, signal_program, and signal_stop.

Referenced by _initialize_infrun(), handle_command(), signal_catch_update(), signal_pass_update(), signal_print_update(), and signal_stop_update().

## ◆ signal_catch_update()

void signal_catch_update | ( | const unsigned int * | info | ) |

Definition at line 8430 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().

## ◆ signal_pass_state()

int signal_pass_state | ( | int | signo | ) |

Definition at line 8374 of file infrun.c.

References signal_program.

Referenced by clear_proceed_status_thread(), get_detach_signal(), linux_child_follow_fork(), linux_nat_filter_event(), queue_signal_command(), remote_program_signals(), and signal_command().

## ◆ signal_pass_update()

int signal_pass_update | ( | int | signo,
|  | int | state
| ) |  |

Definition at line 8417 of file infrun.c.

References signal_cache_update(), and signal_program.

Referenced by nto_initialize_signals().

## ◆ signal_print_state()

int signal_print_state | ( | int | signo | ) |

Definition at line 8368 of file infrun.c.

References signal_print.

Referenced by print_one_stopped_thread().

## ◆ signal_print_update()

int signal_print_update | ( | int | signo,
|  | int | state
| ) |  |

Definition at line 8407 of file infrun.c.

References signal_cache_update(), and signal_print.

Referenced by check_thread_signals(), and nto_initialize_signals().

## ◆ signal_stop_state()

int signal_stop_state | ( | int | signo | ) |

Definition at line 8362 of file infrun.c.

References signal_stop.

Referenced by handle_signal_stop().

## ◆ signal_stop_update()

int signal_stop_update | ( | int | signo,
|  | int | state
| ) |  |

Definition at line 8397 of file infrun.c.

References signal_cache_update(), and signal_stop.

Referenced by check_thread_signals(), and nto_initialize_signals().

## ◆ start_remote()

void start_remote | ( | int | from_tty | ) |

Definition at line 3218 of file infrun.c.

References inferior::control, current_inferior(), current_target, inferior::inferior(), normal_stop(), post_create_inferior(), STOP_QUIETLY_REMOTE, inferior_control_state::stop_soon, and wait_for_inferior().

Referenced by remote_start_remote().

## ◆ start_step_over()

static int start_step_over | ( | void |  | ) |
| static

Definition at line 2063 of file infrun.c.

References _, thread_info::control, debug_infrun, displaced_step_in_progress(), displaced_step_in_progress_any_inferior(), error(), thread_info::executing, fprintf_unfiltered(), gdb_assert, gdb_stdlog, internal_error(), keep_going_pass_signal(), thread_info::next, thread_info::ptid, ptid_get_pid(), reset_ecs(), thread_info::resumed, thread_info::step_after_step_resume_breakpoint, STEP_OVER_BREAKPOINT, step_over_info_valid_p(), step_over_queue_head, STEP_OVER_WATCHPOINT, thread_info::stop_requested, switch_to_thread(), target_is_non_stop_p(), target_pid_to_str(), thread_step_over_chain_next(), thread_step_over_chain_remove(), thread_still_needs_step_over(), thread_control_state::trap_expected, use_displaced_stepping(), and execution_control_state::wait_some_more.

Referenced by finish_step_over(), handle_inferior_event_1(), proceed(), and switch_back_to_stepped_thread().

## ◆ step_over_info_valid_p()

static int step_over_info_valid_p | ( | void |  | ) |
| static

Definition at line 1384 of file infrun.c.

References step_over_info::aspace, and stepping_past_nonsteppable_watchpoint().

Referenced by do_target_resume(), finish_step_over(), infrun_thread_stop_requested(), keep_going_pass_signal(), proceed(), resume_1(), and start_step_over().

## ◆ stepped_in_from()

static int stepped_in_from | ( | struct frame_info * | frame,
|  | struct frame_id | step_frame_id
| ) |  |
| static

Definition at line 4213 of file infrun.c.

References frame_id_eq(), get_frame_id(), get_frame_type(), get_prev_frame(), and INLINE_FRAME.

Referenced by process_event_stop_test().

## ◆ stepping_past_instruction_at()

int stepping_past_instruction_at | ( | struct address_space * | aspace,
|  | CORE_ADDR | address
| ) |  |

Definition at line 1355 of file infrun.c.

References step_over_info::address, step_over_info::aspace, and breakpoint_address_match().

Referenced by should_be_inserted().

## ◆ stepping_past_nonsteppable_watchpoint()

int stepping_past_nonsteppable_watchpoint | ( | void |  | ) |

Definition at line 1376 of file infrun.c.

References step_over_info::nonsteppable_watchpoint_p.

Referenced by should_be_inserted(), and step_over_info_valid_p().

## ◆ stop_all_threads()

void stop_all_threads | ( | void |  | ) |

Definition at line 4468 of file infrun.c.

References add_thread(), ALL_NON_EXITED_THREADS, thread_info::control, currently_stepping(), debug_infrun, disable_thread_events(), displaced_step_fixup(), do_cleanups(), thread_info::executing, find_inferior_ptid(), find_thread_ptid(), fprintf_unfiltered(), gdb_assert, gdb_stdlog, get_thread_regcache(), arm-linux::inf, inferior_ptid, target_waitstatus::integer, target_waitstatus::kind, make_cleanup(), thread_control_state::may_range_step, paddress(), pid_to_ptid(), thread_info::ptid, ptid_get_lwp(), ptid_get_pid(), ptid_get_tid(), regcache::regcache(), regcache_read_pc(), thread_info::resumed, save_waitstatus(), setup_inferior(), target_waitstatus::sig, thread_suspend_state::stop_pc, thread_info::stop_requested, string, thread_info::suspend, switch_to_thread_cleanup(), switch_to_thread_no_regs(), target_gdbarch(), target_is_non_stop_p(), target_pid_to_str(), target_stop(), target_thread_events(), TARGET_WAITKIND_EXITED, TARGET_WAITKIND_IGNORE, TARGET_WAITKIND_NO_RESUMED, TARGET_WAITKIND_SIGNALLED, TARGET_WAITKIND_STOPPED, TARGET_WAITKIND_THREAD_EXITED, target_waitstatus_to_string(), thread_step_over_chain_enqueue(), thread_control_state::trap_expected, update_thread_list(), target_waitstatus::value, wait_one(), thread_suspend_state::waitstatus, and thread_suspend_state::waitstatus_pending_p.

Referenced by attach_post_wait(), keep_going_pass_signal(), process_initial_stop_replies(), resume_1(), and stop_waiting().

## ◆ stop_context_changed()

static int stop_context_changed | ( | struct stop_context * | prev | ) |
| static

Definition at line 8151 of file infrun.c.

References current_inferior(), get_stop_id(), stop_context::inf_num, inferior_ptid, stop_context::ptid, ptid_equal(), thread_info::state, stop_context::stop_id, stop_context::thread, and THREAD_STOPPED.

Referenced by normal_stop().

## ◆ stop_waiting()

static void stop_waiting | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 7650 of file infrun.c.

References debug_infrun, fprintf_unfiltered(), gdb_stdlog, non_stop, stop_all_threads(), target_is_non_stop_p(), and execution_control_state::wait_some_more.

Referenced by end_stepping_range(), handle_inferior_event_1(), handle_signal_stop(), keep_going_pass_signal(), and process_event_stop_test().

## ◆ switch_back_to_stepped_thread()

static int switch_back_to_stepped_thread | ( | struct execution_control_state * | ecs | ) |
| static

Definition at line 7007 of file infrun.c.

References ALL_NON_EXITED_THREADS, thread_info::control, debug_infrun, execution_control_state::event_thread, fprintf_unfiltered(), gdb_assert, gdb_stdlog, execution_control_state::hit_singlestep_breakpoint, internal_error(), keep_going(), keep_going_stepped_thread(), prepare_to_wait(), thread_info::ptid, execution_control_state::ptid, ptid_get_pid(), sched_multi, schedlock_applies(), signal_program, start_step_over(), thread_control_state::step_range_end, thread_suspend_state::stop_signal, thread_info::suspend, target_is_non_stop_p(), target_pid_to_str(), thread_still_needs_step_over(), and thread_control_state::trap_expected.

Referenced by handle_inferior_event_1(), handle_signal_stop(), and process_event_stop_test().

## ◆ switch_to_thread_cleanup()

static void switch_to_thread_cleanup | ( | void * | ptid_p | ) |
| static

Definition at line 4377 of file infrun.c.

References switch_to_thread().

Referenced by stop_all_threads().

## ◆ thread_is_stepping_over_breakpoint()

int thread_is_stepping_over_breakpoint | ( | int | thread | ) |

Definition at line 1367 of file infrun.c.

References step_over_info::thread.

Referenced by should_be_inserted().

## ◆ thread_still_needs_step_over()

static step_over_what thread_still_needs_step_over | ( | struct thread_info * | tp | ) |
| static

Definition at line 2936 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().

## ◆ thread_still_needs_step_over_bp()

static int thread_still_needs_step_over_bp | ( | struct thread_info * | tp | ) |
| static

Definition at line 2914 of file infrun.c.

References regcache::aspace(), breakpoint_here_p(), get_thread_regcache(), ordinary_breakpoint_here, thread_info::ptid, regcache_read_pc(), and thread_info::stepping_over_breakpoint.

Referenced by thread_still_needs_step_over().

## ◆ update_observer_mode()

void update_observer_mode | ( | void |  | ) |

Definition at line 286 of file infrun.c.

References _, may_insert_breakpoints, may_insert_fast_tracepoints, may_insert_tracepoints, may_stop, non_stop, observer_mode, observer_mode_1, and printf_filtered().

Referenced by set_target_permissions(), and set_write_memory_permission().

## ◆ update_signals_program_target()

void update_signals_program_target | ( | void |  | ) |

Definition at line 341 of file infrun.c.

References signal_program, and target_program_signals().

Referenced by remote_start_remote().

## ◆ use_displaced_stepping()

static int use_displaced_stepping | ( | struct thread_info * | tp | ) |
| static

Definition at line 1682 of file infrun.c.

References regcache::arch(), AUTO_BOOLEAN_AUTO, AUTO_BOOLEAN_TRUE, can_use_displaced_stepping, displaced_step_inferior_state::failed_before, find_record_target(), gdbarch_displaced_step_copy_insn_p(), get_displaced_stepping_state(), get_thread_regcache(), thread_info::ptid, ptid_get_pid(), and target_is_non_stop_p().

Referenced by keep_going_pass_signal(), resume_1(), and start_step_over().

## ◆ user_visible_resume_ptid()

ptid_t user_visible_resume_ptid | ( | int | step | ) |

Definition at line 2252 of file infrun.c.

References execution_direction, inferior_ptid, minus_one_ptid, non_stop, pid_to_ptid(), ptid_get_pid(), 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(), internal_resume_ptid(), prepare_one_step(), proceed(), run_inferior_call(), and signal_command().

## ◆ wait_for_inferior()

void wait_for_inferior | ( | void |  | ) |

Definition at line 3700 of file infrun.c.

References debug_infrun, delete_just_stopped_threads_infrun_breakpoints_cleanup(), discard_cleanups(), do_cleanups(), do_target_wait(), finish_thread_state_cleanup(), fprintf_unfiltered(), gdb_stdlog, handle_inferior_event(), make_cleanup(), memset(), minus_one_ptid, overlay_cache_invalid, print_target_wait_results(), execution_control_state::ptid, target_dcache_invalidate(), execution_control_state::wait_some_more, and execution_control_state::ws.

Referenced by start_remote().

## ◆ wait_one()

static ptid_t wait_one | ( | struct target_waitstatus * | ws | ) |
| static

Definition at line 4331 of file infrun.c.

References debug_infrun, deprecated_target_wait_hook, minus_one_ptid, overlay_cache_invalid, print_target_wait_results(), target_dcache_invalidate(), and target_wait().

Referenced by stop_all_threads().

## ◆ write_memory_ptid()

static void write_memory_ptid | ( | ptid_t | ptid,
|  | CORE_ADDR | memaddr,
|  | const gdb_byte * | myaddr,
|  | int | len
| ) |  |
| static

Definition at line 1930 of file infrun.c.

References inferior_ptid, make_scoped_restore(), and write_memory().

Referenced by displaced_step_restore().

## Variable Documentation

## ◆ can_use_displaced_stepping

enum auto_boolean can_use_displaced_stepping = AUTO_BOOLEAN_AUTO
| static

Definition at line 1660 of file infrun.c.

Referenced by _initialize_infrun(), displaced_step_prepare(), show_can_use_displaced_stepping(), and use_displaced_stepping().

## ◆ current_stop_id

ULONGEST current_stop_id
| static

Definition at line 2772 of file infrun.c.

Referenced by get_stop_id(), and new_stop_id().

## ◆ debug_displaced

int debug_displaced = 0

Definition at line 156 of file infrun.c.

Referenced by _initialize_infrun(), aarch64_displaced_step_copy_insn(), aarch64_displaced_step_fixup(), amd64_displaced_step_copy_insn(), amd64_displaced_step_fixup(), amd64_relocate_instruction(), arm_copy_alu_imm(), arm_copy_alu_reg(), arm_copy_alu_shifted_reg(), arm_copy_b_bl_blx(), arm_copy_block_xfer(), arm_copy_bx_blx_reg(), arm_copy_copro_load_store(), arm_copy_extra_ld_st(), arm_copy_ldr_str_ldrb_strb(), arm_copy_preload(), arm_copy_preload_reg(), arm_copy_svc(), arm_copy_undef(), arm_copy_unmodified(), arm_copy_unpred(), arm_displaced_init_closure(), arm_linux_cleanup_svc(), arm_linux_copy_svc(), arm_linux_displaced_step_copy_insn(), arm_pc_is_thumb(), arm_process_displaced_insn(), BP_MANIPULATION_ENDIAN(), cleanup_block_load_all(), cleanup_block_load_pc(), cleanup_block_store_pc(), cleanup_svc(), displaced_read_reg(), displaced_step_prepare_throw(), displaced_step_restore(), displaced_write_reg(), fixup_riprel(), handle_inferior_event_1(), i386_displaced_step_copy_insn(), i386_displaced_step_fixup(), i386_relocate_instruction(), ppc_displaced_step_fixup(), resume_1(), s390_displaced_step_copy_insn(), s390_displaced_step_fixup(), thumb2_copy_alu_imm(), thumb2_copy_b_bl_blx(), thumb2_copy_block_xfer(), thumb2_copy_copro_load_store(), thumb2_copy_load_literal(), thumb2_copy_load_reg_imm(), thumb2_copy_preload(), thumb2_copy_table_branch(), thumb_32bit_copy_undef(), thumb_copy_16bit_ldr_literal(), thumb_copy_alu_reg(), thumb_copy_b(), thumb_copy_bx_blx_reg(), thumb_copy_cbnz_cbz(), thumb_copy_pc_relative_32bit(), thumb_copy_pop_pc_16bit(), thumb_copy_svc(), thumb_copy_unmodified_16bit(), thumb_copy_unmodified_32bit(), thumb_decode_pc_relative_16bit(), and thumb_process_displaced_insn().

## ◆ debug_infrun

unsigned int debug_infrun = 0

Definition at line 164 of file infrun.c.

Referenced by _initialize_infrun(), clear_proceed_status_thread(), clear_step_over_info(), context_switch(), displaced_step_prepare(), do_target_wait(), fetch_inferior_event(), finish_step_over(), follow_fork_inferior(), handle_inferior_event_1(), handle_jit_event(), handle_no_resumed(), handle_signal_stop(), handle_syscall_event(), handle_vfork_child_exec_or_exit(), infrun_async(), insert_exception_resume_breakpoint(), insert_exception_resume_from_probe(), insert_longjmp_resume_breakpoint(), insert_step_resume_breakpoint_at_sal_1(), keep_going_pass_signal(), keep_going_stepped_thread(), prepare_for_detach(), prepare_to_wait(), proceed(), proceed_after_vfork_done(), process_event_stop_test(), random_pending_event_thread(), restart_threads(), resume_1(), save_waitstatus(), should_be_inserted(), start_step_over(), stop_all_threads(), stop_waiting(), switch_back_to_stepped_thread(), wait_for_inferior(), and wait_one().

## ◆ detach_fork

int detach_fork = 1
| static

Definition at line 154 of file infrun.c.

Referenced by _initialize_infrun(), follow_fork(), follow_fork_inferior(), handle_inferior_event_1(), linux_child_follow_fork(), remote_follow_fork(), and target_follow_fork().

## ◆ disable_randomization

int disable_randomization = 1

Definition at line 175 of file infrun.c.

Referenced by _initialize_infrun(), extended_remote_create_inferior(), linux_nat_create_inferior(), and maybe_disable_address_space_randomization::maybe_disable_address_space_randomization().

## ◆ displaced_step_inferior_states

struct displaced_step_inferior_state* displaced_step_inferior_states
| static

Definition at line 1516 of file infrun.c.

Referenced by add_displaced_stepping_state(), displaced_step_in_progress_any_inferior(), get_displaced_stepping_state(), infrun_thread_ptid_changed(), and remove_displaced_stepping_state().

## ◆ exec_direction

const char* exec_direction = exec_forward
| static

Definition at line 9091 of file infrun.c.

Referenced by _initialize_infrun(), and set_exec_direction_func().

## ◆ exec_direction_names

const char* const exec_direction_names[]
| static

Initial value:
= {
exec_forward,
exec_reverse,
NULL
}
exec_reverse
static const char exec_reverse[]
Definition: infrun.c:9090
exec_forward
static const char exec_forward[]
Definition: infrun.c:9089

Definition at line 9092 of file infrun.c.

Referenced by _initialize_infrun().

## ◆ exec_forward

const char exec_forward[] = "forward"
| static

Definition at line 9089 of file infrun.c.

Referenced by set_exec_direction_func().

## ◆ exec_reverse

const char exec_reverse[] = "reverse"
| static

Definition at line 9090 of file infrun.c.

Referenced by set_exec_direction_func().

## ◆ execution_direction

enum exec_direction_kind execution_direction = EXEC_FORWARD

Definition at line 9088 of file infrun.c.

Referenced by adjust_pc_after_break(), call_function_by_hand_dummy(), clear_proceed_status(), exec_reverse_continue(), exec_reverse_once(), fetch_inferior_event(), finish_command(), finish_command_fsm_async_reply_reason(), maybe_software_singlestep(), ppc64_plt_entry_point(), ppc64_skip_trampoline_code_1(), ppc_skip_trampoline_code(), proceed(), process_event_stop_test(), record_btrace_commit_resume(), record_btrace_resume(), record_btrace_stop(), record_btrace_wait(), record_full_core_resume(), record_full_resume(), record_full_wait_1(), record_full_wait_cleanups(), remote_commit_resume(), remote_resume(), remote_resume_with_hc(), remote_resume_with_vcont(), resume_1(), schedlock_applies(), set_exec_direction_func(), show_exec_direction_func(), and user_visible_resume_ptid().

## ◆ follow_exec_mode_names

const char* const follow_exec_mode_names[]
| static

Initial value:
=
{
follow_exec_mode_new,
follow_exec_mode_same,
NULL,
}
follow_exec_mode_same
static const char follow_exec_mode_same[]
Definition: infrun.c:1059
follow_exec_mode_new
static const char follow_exec_mode_new[]
Definition: infrun.c:1058

Definition at line 1060 of file infrun.c.

Referenced by _initialize_infrun().

## ◆ follow_exec_mode_new

const char follow_exec_mode_new[] = "new"
| static

Definition at line 1058 of file infrun.c.

Referenced by follow_exec().

## ◆ follow_exec_mode_same

const char follow_exec_mode_same[] = "same"
| static

Definition at line 1059 of file infrun.c.

## ◆ follow_exec_mode_string

const char* follow_exec_mode_string = follow_exec_mode_same
| static

Definition at line 1067 of file infrun.c.

Referenced by _initialize_infrun(), and follow_exec().

## ◆ follow_fork_mode_child

const char follow_fork_mode_child[] = "child"
| static

Definition at line 390 of file infrun.c.

Referenced by follow_fork(), and handle_inferior_event_1().

## ◆ follow_fork_mode_kind_names

const char* const follow_fork_mode_kind_names[]
| static

Initial value:
= {
follow_fork_mode_child,
follow_fork_mode_parent,
NULL
}
follow_fork_mode_parent
static const char follow_fork_mode_parent[]
Definition: infrun.c:391
follow_fork_mode_child
static const char follow_fork_mode_child[]
Definition: infrun.c:390

Definition at line 393 of file infrun.c.

Referenced by _initialize_infrun().

## ◆ follow_fork_mode_parent

const char follow_fork_mode_parent[] = "parent"
| static

Definition at line 391 of file infrun.c.

## ◆ follow_fork_mode_string

const char* follow_fork_mode_string = follow_fork_mode_parent
| static

Definition at line 399 of file infrun.c.

Referenced by _initialize_infrun(), follow_fork(), and handle_inferior_event_1().

## ◆ infrun_async_inferior_event_token

struct async_event_handler* infrun_async_inferior_event_token
| static

Definition at line 97 of file infrun.c.

Referenced by _initialize_infrun(), do_target_wait(), finish_step_over(), infrun_async(), mark_infrun_async_event_handler(), and proceed().

## ◆ infrun_is_async

int infrun_is_async = -1
| static

Definition at line 101 of file infrun.c.

Referenced by infrun_async().

## ◆ non_stop

int non_stop = 0

Definition at line 204 of file infrun.c.

Referenced by attach_command(), attach_post_wait(), clean_up_just_stopped_threads_fsms(), clear_proceed_status(), continue_1(), continue_command(), exec_continue(), fetch_inferior_event(), follow_fork(), follow_fork_inferior(), get_event_thread(), handle_inferior_event_1(), handle_vfork_child_exec_or_exit(), inferior_event_handler(), info_program_command(), interrupt_command(), interrupt_target_1(), mi_cmd_exec_interrupt(), mi_on_normal_stop_1(), normal_stop(), prepare_execute_command(), proceed(), process_initial_stop_replies(), record_full_open_1(), run_command_1(), set_non_stop(), set_observer_mode(), signal_command(), stop_waiting(), target_is_non_stop_p(), target_stop_and_wait(), update_observer_mode(), and user_visible_resume_ptid().

## ◆ non_stop_1

int non_stop_1 = 0
| static

Definition at line 205 of file infrun.c.

Referenced by _initialize_infrun(), set_non_stop(), and set_observer_mode().

## ◆ observer_mode

int observer_mode = 0

Definition at line 233 of file infrun.c.

Referenced by set_observer_mode(), and update_observer_mode().

## ◆ observer_mode_1

int observer_mode_1 = 0
| static

Definition at line 234 of file infrun.c.

Referenced by _initialize_infrun(), set_observer_mode(), and update_observer_mode().

## ◆ previous_inferior_ptid

ptid_t previous_inferior_ptid
| static

Definition at line 147 of file infrun.c.

Referenced by init_wait_for_inferior(), normal_stop(), and proceed().

## ◆ sched_multi

int sched_multi = 0

Definition at line 2229 of file infrun.c.

Referenced by _initialize_infrun(), exec_continue(), follow_fork_inferior(), handle_inferior_event_1(), switch_back_to_stepped_thread(), and user_visible_resume_ptid().

## ◆ schedlock_off

const char schedlock_off[] = "off"
| static

Definition at line 2194 of file infrun.c.

Referenced by set_schedlock_func().

## ◆ schedlock_on

const char schedlock_on[] = "on"
| static

Definition at line 2195 of file infrun.c.

Referenced by schedlock_applies(), and user_visible_resume_ptid().

## ◆ schedlock_replay

const char schedlock_replay[] = "replay"
| static

Definition at line 2197 of file infrun.c.

Referenced by clear_proceed_status(), schedlock_applies(), and user_visible_resume_ptid().

## ◆ schedlock_step

const char schedlock_step[] = "step"
| static

Definition at line 2196 of file infrun.c.

Referenced by schedlock_applies(), and user_visible_resume_ptid().

## ◆ scheduler_enums

const char* const scheduler_enums[]
| static

Initial value:
= {
schedlock_off,
schedlock_on,
schedlock_step,
schedlock_replay,
NULL
}
schedlock_off
static const char schedlock_off[]
Definition: infrun.c:2194
schedlock_replay
static const char schedlock_replay[]
Definition: infrun.c:2197
schedlock_on
static const char schedlock_on[]
Definition: infrun.c:2195
schedlock_step
static const char schedlock_step[]
Definition: infrun.c:2196

Definition at line 2198 of file infrun.c.

Referenced by _initialize_infrun().

## ◆ scheduler_mode

const char* scheduler_mode = schedlock_replay
| static

Definition at line 2205 of file infrun.c.

Referenced by _initialize_infrun(), clear_proceed_status(), schedlock_applies(), set_schedlock_func(), and user_visible_resume_ptid().

## ◆ siginfo_funcs

const struct internalvar_funcs siginfo_funcs
| static

Initial value:
=
{
siginfo_make_value,
NULL,
NULL
}
siginfo_make_value
static struct value * siginfo_make_value(struct gdbarch *gdbarch, struct internalvar *var, void *ignore)
Definition: infrun.c:8784

Definition at line 9144 of file infrun.c.

Referenced by _initialize_infrun().

## ◆ siginfo_value_funcs

const struct lval_funcs siginfo_value_funcs
| static

Initial value:
=
{
siginfo_value_read,
siginfo_value_write
}
siginfo_value_write
static void siginfo_value_write(struct value *v, struct value *fromval)
Definition: infrun.c:8754
siginfo_value_read
static void siginfo_value_read(struct value *v)
Definition: infrun.c:8731

Definition at line 8773 of file infrun.c.

Referenced by siginfo_make_value().

## ◆ signal_catch

unsigned char* signal_catch
| static

Definition at line 314 of file infrun.c.

Referenced by _initialize_infrun(), signal_cache_update(), and signal_catch_update().

## ◆ signal_pass

unsigned char* signal_pass
| static

Definition at line 319 of file infrun.c.

Referenced by _initialize_infrun(), do_target_resume(), handle_command(), signal_cache_update(), and signal_catch_update().

## ◆ signal_print

unsigned char* signal_print
| static

Definition at line 307 of file infrun.c.

Referenced by _initialize_infrun(), handle_command(), handle_signal_stop(), sig_print_info(), signal_cache_update(), signal_print_state(), and signal_print_update().

## ◆ signal_program

unsigned char* signal_program
| static

Definition at line 308 of file infrun.c.

Referenced by _initialize_infrun(), 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().

## ◆ signal_stop

unsigned char* signal_stop
| static

Definition at line 306 of file infrun.c.

Referenced by _initialize_infrun(), handle_command(), sig_print_info(), signal_cache_update(), signal_stop_state(), and signal_stop_update().

## ◆ step_over_info

struct step_over_info step_over_info
| static

Definition at line 1319 of file infrun.c.

## ◆ step_over_queue_head

struct thread_info* step_over_queue_head

Definition at line 1260 of file infrun.c.

Referenced by start_step_over(), thread_step_over_chain_enqueue(), thread_step_over_chain_next(), and thread_step_over_chain_remove().

## ◆ step_stop_if_no_debug

int step_stop_if_no_debug = 0

Definition at line 135 of file infrun.c.

Referenced by _initialize_infrun(), prepare_one_step(), and process_event_stop_test().

## ◆ stop_command

struct cmd_list_element* stop_command
| static

Definition at line 352 of file infrun.c.

Referenced by _initialize_infrun(), and normal_stop().

## ◆ stop_on_solib_events

int stop_on_solib_events

Definition at line 356 of file infrun.c.

Referenced by _initialize_infrun(), handle_inferior_event_1(), internal_bkpt_check_status(), and svr4_update_solib_event_breakpoint().

## ◆ stop_print_frame

int stop_print_frame
| static

Definition at line 378 of file infrun.c.

Referenced by handle_inferior_event_1(), handle_signal_stop(), normal_stop(), and process_event_stop_test().

## ◆ target_last_wait_ptid

ptid_t target_last_wait_ptid
| static

Definition at line 383 of file infrun.c.

Referenced by _initialize_infrun(), get_last_target_status(), infrun_thread_thread_exit(), init_wait_for_inferior(), nullify_last_target_wait_ptid(), and set_last_target_status().

## ◆ target_last_waitstatus

struct target_waitstatus target_last_waitstatus
| static

Definition at line 384 of file infrun.c.

Referenced by get_last_target_status(), and set_last_target_status().