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_stateget_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_stateadd_displaced_stepping_state (int pid)
 
struct displaced_step_closureget_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_inforandom_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_contextsave_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 valuesiginfo_make_value (struct gdbarch *gdbarch, struct internalvar *var, void *ignore)
 
struct infcall_suspend_statesave_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 cleanupmake_cleanup_restore_infcall_suspend_state (struct infcall_suspend_state *inf_state)
 
void discard_infcall_suspend_state (struct infcall_suspend_state *inf_state)
 
struct regcacheget_infcall_suspend_state_regcache (struct infcall_suspend_state *inf_state)
 
struct infcall_control_statesave_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 cleanupmake_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_handlerinfrun_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_elementstop_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_infostep_over_queue_head
 
static struct step_over_info step_over_info
 
static struct displaced_step_inferior_statedisplaced_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)
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 (); \
}
scoped_restore_tmpl< T > make_scoped_restore(T *var)
Definition: ptid.h:35
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)
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

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

◆ adjust_pc_after_break()

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

◆ 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  )

◆ check_curr_ui_sync_execution_done()

static void check_curr_ui_sync_execution_done ( void  )
static

◆ check_exception_resume()

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

◆ clean_up_just_stopped_threads_fsms()

static void clean_up_just_stopped_threads_fsms ( struct execution_control_state ecs)
static

◆ 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)

◆ clear_proceed_status_thread()

static void clear_proceed_status_thread ( struct thread_info tp)
static

◆ clear_step_over_info()

static void clear_step_over_info ( void  )
static

◆ context_switch()

static void context_switch ( ptid_t  ptid)
static

◆ currently_stepping()

static int currently_stepping ( struct thread_info tp)
static

◆ 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

◆ delete_just_stopped_threads_infrun_breakpoints_cleanup()

static void delete_just_stopped_threads_infrun_breakpoints_cleanup ( void *  arg)
static

◆ delete_just_stopped_threads_single_step_breakpoints()

static void delete_just_stopped_threads_single_step_breakpoints ( void  )
static

◆ delete_thread_infrun_breakpoints()

static void delete_thread_infrun_breakpoints ( struct thread_info tp)
static

◆ 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)

◆ discard_infcall_suspend_state()

void discard_infcall_suspend_state ( struct infcall_suspend_state inf_state)

◆ displaced_step_clear()

static void displaced_step_clear ( struct displaced_step_inferior_state displaced)
static

◆ 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 
)

◆ displaced_step_fixup()

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

◆ displaced_step_in_progress()

static int displaced_step_in_progress ( int  pid)
static

◆ displaced_step_in_progress_any_inferior()

static int displaced_step_in_progress_any_inferior ( void  )
static

◆ displaced_step_in_progress_thread()

static int displaced_step_in_progress_thread ( ptid_t  ptid)
static

◆ displaced_step_prepare()

static int displaced_step_prepare ( ptid_t  ptid)
static

◆ displaced_step_prepare_throw()

static int displaced_step_prepare_throw ( ptid_t  ptid)
static

◆ displaced_step_restore()

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

◆ 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

◆ do_target_wait()

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

◆ end_stepping_range()

static void end_stepping_range ( struct execution_control_state ecs)
static

◆ fetch_inferior_event()

void fetch_inferior_event ( void *  client_data)

◆ fill_in_stop_func()

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

◆ finish_step_over()

static int finish_step_over ( struct execution_control_state ecs)
static

◆ follow_exec()

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

◆ follow_fork()

static int follow_fork ( void  )
static

◆ follow_fork_inferior()

static int follow_fork_inferior ( int  follow_child,
int  detach_fork 
)
static

◆ follow_inferior_reset_breakpoints()

static void follow_inferior_reset_breakpoints ( void  )
static

◆ for_each_just_stopped_thread()

static void for_each_just_stopped_thread ( for_each_just_stopped_thread_callback_func  func)
static

◆ gdb_signal_from_command()

enum gdb_signal gdb_signal_from_command ( int  num)

◆ get_displaced_step_closure_by_addr()

struct displaced_step_closure* get_displaced_step_closure_by_addr ( CORE_ADDR  addr)

◆ get_displaced_stepping_state()

static struct displaced_step_inferior_state* get_displaced_stepping_state ( int  pid)
static

◆ 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 
)

◆ 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

◆ 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

◆ 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

◆ handle_segmentation_fault()

static void handle_segmentation_fault ( struct ui_out uiout)
static

◆ 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

◆ handle_step_into_function_backward()

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

◆ handle_stop_requested()

static bool handle_stop_requested ( struct execution_control_state ecs)
static

◆ handle_syscall_event()

static int handle_syscall_event ( struct execution_control_state ecs)
static

◆ handle_vfork_child_exec_or_exit()

static void handle_vfork_child_exec_or_exit ( int  exec)
static

◆ info_signals_command()

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

◆ infrun_async()

void infrun_async ( int  enable)

◆ 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

◆ infrun_thread_stop_requested()

static void infrun_thread_stop_requested ( ptid_t  ptid)
static

◆ infrun_thread_thread_exit()

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

◆ init_thread_stepping_state()

void init_thread_stepping_state ( struct thread_info tss)

◆ init_wait_for_inferior()

void init_wait_for_inferior ( void  )

◆ 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

◆ 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

◆ insert_hp_step_resume_breakpoint_at_frame()

static void insert_hp_step_resume_breakpoint_at_frame ( struct frame_info return_frame)
static

◆ insert_longjmp_resume_breakpoint()

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

◆ insert_step_resume_breakpoint_at_caller()

static void insert_step_resume_breakpoint_at_caller ( struct frame_info next_frame)
static

◆ 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 
)

◆ 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

◆ 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

◆ keep_going_pass_signal()

static void keep_going_pass_signal ( struct execution_control_state ecs)
static

◆ keep_going_stepped_thread()

static int keep_going_stepped_thread ( struct thread_info tp)
static

◆ 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  )

◆ maybe_software_singlestep()

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

◆ 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  )

◆ 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  )

◆ prepare_to_wait()

static void prepare_to_wait ( struct execution_control_state ecs)
static

◆ print_end_stepping_range_reason()

void print_end_stepping_range_reason ( struct ui_out uiout)

◆ print_exited_reason()

void print_exited_reason ( struct ui_out uiout,
int  exitstatus 
)

◆ 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 
)

◆ print_signal_received_reason()

void print_signal_received_reason ( struct ui_out uiout,
enum gdb_signal  siggnal 
)

◆ print_stop_event()

void print_stop_event ( struct ui_out uiout)

◆ print_stop_location()

static void print_stop_location ( struct target_waitstatus ws)
static

◆ print_target_wait_results()

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

◆ 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

◆ 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

◆ reinstall_readline_callback_handler_cleanup()

static void reinstall_readline_callback_handler_cleanup ( void *  arg)
static

◆ 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

◆ reset_ecs()

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

◆ restart_threads()

static void restart_threads ( struct thread_info event_thread)
static

◆ restore_infcall_control_state()

void restore_infcall_control_state ( struct infcall_control_state inf_status)

◆ restore_infcall_suspend_state()

void restore_infcall_suspend_state ( struct infcall_suspend_state inf_state)

◆ 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)

◆ 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

◆ save_infcall_control_state()

struct infcall_control_state* save_infcall_control_state ( void  )

◆ save_infcall_suspend_state()

struct infcall_suspend_state* save_infcall_suspend_state ( void  )

◆ save_stop_context()

static struct stop_context* save_stop_context ( void  )
static

◆ save_waitstatus()

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

◆ schedlock_applies()

static int schedlock_applies ( struct thread_info tp)
static

◆ 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

◆ set_last_target_status()

void set_last_target_status ( ptid_t  ptid,
struct target_waitstatus  status 
)

◆ 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

◆ 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 
)

◆ set_step_over_info()

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

◆ 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

◆ 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

◆ siginfo_make_value()

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

◆ siginfo_value_read()

static void siginfo_value_read ( struct value v)
static

◆ siginfo_value_write()

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

◆ signal_cache_update()

static void signal_cache_update ( int  signo)
static

◆ signal_catch_update()

void signal_catch_update ( const unsigned int *  info)

◆ signal_pass_state()

int signal_pass_state ( int  signo)

◆ 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)

◆ start_step_over()

static int start_step_over ( void  )
static

◆ step_over_info_valid_p()

static int step_over_info_valid_p ( void  )
static

◆ 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 
)

◆ 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  )

◆ stop_context_changed()

static int stop_context_changed ( struct stop_context prev)
static

◆ stop_waiting()

static void stop_waiting ( struct execution_control_state ecs)
static

◆ switch_back_to_stepped_thread()

static int switch_back_to_stepped_thread ( struct execution_control_state ecs)
static

◆ 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

◆ thread_still_needs_step_over_bp()

static int thread_still_needs_step_over_bp ( struct thread_info tp)
static

◆ update_observer_mode()

void update_observer_mode ( void  )

◆ 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

◆ user_visible_resume_ptid()

ptid_t user_visible_resume_ptid ( int  step)

◆ wait_for_inferior()

void wait_for_inferior ( void  )

◆ wait_one()

static ptid_t wait_one ( struct target_waitstatus ws)
static

◆ 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

◆ 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

◆ detach_fork

int detach_fork = 1
static

◆ disable_randomization

int disable_randomization = 1

◆ displaced_step_inferior_states

struct displaced_step_inferior_state* displaced_step_inferior_states
static

◆ 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:
= {
NULL
}
static const char exec_reverse[]
Definition: infrun.c:9090
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

◆ follow_exec_mode_names

const char* const follow_exec_mode_names[]
static
Initial value:
=
{
NULL,
}
static const char follow_exec_mode_same[]
Definition: infrun.c:1059
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:
= {
NULL
}
static const char follow_fork_mode_parent[]
Definition: infrun.c:391
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

◆ 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

◆ 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

◆ 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:
= {
NULL
}
static const char schedlock_off[]
Definition: infrun.c:2194
static const char schedlock_replay[]
Definition: infrun.c:2197
static const char schedlock_on[]
Definition: infrun.c:2195
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

◆ siginfo_funcs

const struct internalvar_funcs siginfo_funcs
static
Initial value:
=
{
NULL,
NULL
}
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:
=
{
}
static void siginfo_value_write(struct value *v, struct value *fromval)
Definition: infrun.c:8754
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

◆ signal_print

unsigned char* signal_print
static

◆ signal_program

unsigned char* signal_program
static

◆ signal_stop

unsigned char* signal_stop
static

◆ step_over_info

Definition at line 1319 of file infrun.c.

◆ step_over_queue_head

struct thread_info* step_over_queue_head

◆ 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

◆ stop_print_frame

int stop_print_frame
static

◆ target_last_wait_ptid

ptid_t target_last_wait_ptid
static

◆ 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().