GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions | Variables
infrun.c File Reference
#include "defs.h"
#include "displaced-stepping.h"
#include "infrun.h"
#include <ctype.h>
#include "symtab.h"
#include "frame.h"
#include "inferior.h"
#include "breakpoint.h"
#include "gdbcore.h"
#include "gdbcmd.h"
#include "target.h"
#include "target-connection.h"
#include "gdbthread.h"
#include "annotate.h"
#include "symfile.h"
#include "top.h"
#include "ui.h"
#include "inf-loop.h"
#include "regcache.h"
#include "value.h"
#include "observable.h"
#include "language.h"
#include "solib.h"
#include "main.h"
#include "block.h"
#include "mi/mi-common.h"
#include "event-top.h"
#include "record.h"
#include "record-full.h"
#include "inline-frame.h"
#include "jit.h"
#include "tracepoint.h"
#include "skip.h"
#include "probe.h"
#include "objfiles.h"
#include "completer.h"
#include "target-descriptions.h"
#include "target-dcache.h"
#include "terminal.h"
#include "solist.h"
#include "gdbsupport/event-loop.h"
#include "thread-fsm.h"
#include "gdbsupport/enum-flags.h"
#include "progspace-and-thread.h"
#include "gdbsupport/gdb_optional.h"
#include "arch-utils.h"
#include "gdbsupport/scope-exit.h"
#include "gdbsupport/forward-scope-exit.h"
#include "gdbsupport/gdb_select.h"
#include <unordered_map>
#include "async-event.h"
#include "gdbsupport/selftest.h"
#include "scoped-mock-context.h"
#include "test-target.h"
#include "gdbsupport/common-debug.h"
#include "gdbsupport/buildargv.h"
#include "extension.h"
#include "disasm.h"
#include "interps.h"

Go to the source code of this file.

Classes

struct  step_over_info
 
struct  execution_control_state
 
struct  wait_one_event
 
struct  stop_context
 
class  infcall_suspend_state
 
struct  infcall_control_state
 
struct  infcall_control_state::selected_frame_id
 

Macros

#define SET_SIGS(nsigs, sigs, flags)
 
#define UNSET_SIGS(nsigs, sigs, flags)
 
#define RESUME_ALL   minus_one_ptid
 

Typedefs

using displaced_step_reset_cleanup = FORWARD_SCOPE_EXIT (displaced_step_reset)
 
typedef void(* for_each_just_stopped_thread_callback_func) (struct thread_info *tp)
 

Enumerations

enum  step_over_what_flag { STEP_OVER_BREAKPOINT = 1 , STEP_OVER_WATCHPOINT = 2 }
 

Functions

static void sig_print_info (enum gdb_signal)
 
static void sig_print_header (void)
 
static void follow_inferior_reset_breakpoints (void)
 
static bool currently_stepping (struct thread_info *tp)
 
static void insert_hp_step_resume_breakpoint_at_frame (frame_info_ptr)
 
static void insert_step_resume_breakpoint_at_caller (frame_info_ptr)
 
static void insert_longjmp_resume_breakpoint (struct gdbarch *, CORE_ADDR)
 
static bool maybe_software_singlestep (struct gdbarch *gdbarch)
 
static void resume (gdb_signal sig)
 
static void wait_for_inferior (inferior *inf)
 
static void restart_threads (struct thread_info *event_thread, inferior *inf=nullptr)
 
static bool start_step_over (void)
 
static bool step_over_info_valid_p (void)
 
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)
 
void update_previous_thread ()
 
thread_infoget_previous_thread ()
 
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)
 
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 bool follow_fork_inferior (bool follow_child, bool detach_fork)
 
static void set_last_target_status_stopped (thread_info *tp)
 
static bool follow_fork ()
 
static void proceed_after_vfork_done (thread_info *thread)
 
static void handle_vfork_child_exec_or_exit (int exec)
 
static void handle_vfork_done (thread_info *event_thread)
 
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, const 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 bool displaced_step_in_progress_thread (thread_info *thread)
 
static bool displaced_step_in_progress (inferior *inf)
 
static bool displaced_step_in_progress_any_thread ()
 
static void infrun_inferior_exit (struct inferior *inf)
 
static void infrun_inferior_execd (inferior *exec_inf, inferior *follow_inf)
 
static void show_can_use_displaced_stepping (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static bool gdbarch_supports_displaced_stepping (gdbarch *arch)
 
static bool use_displaced_stepping (thread_info *tp)
 
static void displaced_step_reset (displaced_step_thread_state *displaced)
 
static displaced_step_prepare_status displaced_step_prepare_throw (thread_info *tp)
 
static displaced_step_prepare_status displaced_step_prepare (thread_info *thread)
 
static displaced_step_finish_status displaced_step_finish (thread_info *event_thread, const target_waitstatus &event_status)
 
static void keep_going_pass_signal (struct execution_control_state *ecs)
 
static void prepare_to_wait (struct execution_control_state *ecs)
 
static bool keep_going_stepped_thread (struct thread_info *tp)
 
static step_over_what thread_still_needs_step_over (struct thread_info *tp)
 
static void infrun_thread_ptid_changed (process_stratum_target *target, 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)
 
process_stratum_targetuser_visible_resume_target (ptid_t resume_ptid)
 
static thread_infofind_thread_waiting_for_vfork_done ()
 
static ptid_t internal_resume_ptid (int user_step)
 
static void do_target_resume (ptid_t resume_ptid, bool step, enum gdb_signal sig)
 
static void resume_1 (enum gdb_signal sig)
 
ULONGEST get_stop_id (void)
 
static void new_stop_id (void)
 
static void clear_proceed_status_thread (struct thread_info *tp)
 
static void notify_about_to_proceed ()
 
void clear_proceed_status (int step)
 
static bool thread_still_needs_step_over_bp (struct thread_info *tp)
 
static bool schedlock_applies (struct thread_info *tp)
 
static void maybe_set_commit_resumed_all_targets ()
 
void maybe_call_commit_resumed_all_targets ()
 
static void check_multi_target_resumption (process_stratum_target *resume_target)
 
static void proceed_resume_thread_checked (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 *, frame_info_ptr)
 
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 bool switch_back_to_stepped_thread (struct execution_control_state *ecs)
 
static void infrun_thread_stop_requested (ptid_t ptid)
 
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)
 
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 (inferior *inf, ptid_t waiton_ptid)
 
static ptid_t do_target_wait_1 (inferior *inf, ptid_t ptid, target_waitstatus *status, target_wait_flags options)
 
static bool do_target_wait (execution_control_state *ecs, target_wait_flags options)
 
static bool handle_one (const wait_one_event &event)
 
void prepare_for_detach (void)
 
static void stop_all_threads_if_all_stop_mode ()
 
static void reinstall_readline_callback_handler_cleanup ()
 
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)
 
static void infrun_quit_handler ()
 
void fetch_inferior_event ()
 
void set_step_info (thread_info *tp, frame_info_ptr frame, struct symtab_and_line sal)
 
void set_last_target_status (process_stratum_target *target, ptid_t ptid, const target_waitstatus &status)
 
void get_last_target_status (process_stratum_target **target, ptid_t *ptid, target_waitstatus *status)
 
void nullify_last_target_wait_ptid (void)
 
static void context_switch (execution_control_state *ecs)
 
static void adjust_pc_after_break (struct thread_info *thread, const target_waitstatus &ws)
 
static bool stepped_in_from (frame_info_ptr frame, struct frame_id step_frame_id)
 
static bool inline_frame_is_marked_for_skip (bool prev_frame, struct thread_info *tp)
 
static bool handle_stop_requested (struct execution_control_state *ecs)
 
static bool 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 (execution_control_state *ecs)
 
static ptid_t poll_one_curr_target (struct target_waitstatus *ws)
 
static wait_one_event wait_one ()
 
static void save_waitstatus (struct thread_info *tp, const target_waitstatus &ws)
 
static void mark_non_executing_threads (process_stratum_target *target, ptid_t event_ptid, const target_waitstatus &ws)
 
void stop_all_threads (const char *reason, inferior *inf)
 
static bool handle_no_resumed (struct execution_control_state *ecs)
 
static int resumed_thread_with_pending_status (struct thread_info *tp, void *arg)
 
static int finish_step_over (struct execution_control_state *ecs)
 
void notify_signal_received (gdb_signal sig)
 
void notify_normal_stop (bpstat *bs, int print_frame)
 
void notify_user_selected_context_changed (user_selected_what selection)
 
static bool restart_stepped_thread (process_stratum_target *resume_target, ptid_t resume_ptid)
 
void restart_after_all_stop_detach (process_stratum_target *proc_target)
 
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, frame_info_ptr frame, struct symbol *sym)
 
static void insert_exception_resume_from_probe (struct thread_info *tp, const struct bound_probe *probe, frame_info_ptr frame)
 
void print_signal_exited_reason (struct ui_out *uiout, enum gdb_signal siggnal)
 
void print_exited_reason (struct ui_out *uiout, int exitstatus)
 
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 (const target_waitstatus &ws)
 
void print_stop_event (struct ui_out *uiout, bool displays)
 
void maybe_remove_breakpoints (void)
 
bool normal_stop ()
 
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)
 
infcall_suspend_state_up save_infcall_suspend_state ()
 
void restore_infcall_suspend_state (struct infcall_suspend_state *inf_state)
 
void discard_infcall_suspend_state (struct infcall_suspend_state *inf_state)
 
readonly_detached_regcacheget_infcall_suspend_state_regcache (struct infcall_suspend_state *inf_state)
 
infcall_control_state_up save_infcall_control_state ()
 
void 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 ()
 

Variables

static struct async_event_handlerinfrun_async_inferior_event_token
 
static int infrun_is_async = -1
 
bool step_stop_if_no_debug = false
 
static thread_info_ref previous_thread
 
static bool detach_fork = true
 
bool debug_infrun = false
 
bool disable_randomization = true
 
bool non_stop = false
 
static bool non_stop_1 = false
 
static bool observer_mode = false
 
static bool observer_mode_1 = false
 
static unsigned char signal_stop [GDB_SIGNAL_LAST]
 
static unsigned char signal_print [GDB_SIGNAL_LAST]
 
static unsigned char signal_program [GDB_SIGNAL_LAST]
 
static unsigned char signal_catch [GDB_SIGNAL_LAST]
 
static unsigned char signal_pass [GDB_SIGNAL_LAST]
 
static struct cmd_list_elementstop_command
 
int stop_on_solib_events
 
static bool stop_print_frame
 
static process_stratum_targettarget_last_proc_target
 
static ptid_t target_last_wait_ptid
 
static struct target_waitstatus target_last_waitstatus
 
static const char follow_fork_mode_child [] = "child"
 
static const char follow_fork_mode_parent [] = "parent"
 
static const char *const follow_fork_mode_kind_names []
 
static const char * follow_fork_mode_string = follow_fork_mode_parent
 
static const char follow_exec_mode_new [] = "new"
 
static const char follow_exec_mode_same [] = "same"
 
static const char *const follow_exec_mode_names []
 
static const char * follow_exec_mode_string = follow_exec_mode_same
 
thread_step_over_list global_thread_step_over_list
 
static struct step_over_info step_over_info
 
static enum auto_boolean can_use_displaced_stepping = AUTO_BOOLEAN_AUTO
 
static const char schedlock_off [] = "off"
 
static const char schedlock_on [] = "on"
 
static const char schedlock_step [] = "step"
 
static const char schedlock_replay [] = "replay"
 
static const char *const scheduler_enums []
 
static const char * scheduler_mode = schedlock_replay
 
bool sched_multi = false
 
static ULONGEST current_stop_id
 
static bool enable_commit_resumed = true
 
static const struct lval_funcs siginfo_value_funcs
 
enum exec_direction_kind execution_direction = EXEC_FORWARD
 
static const char exec_forward [] = "forward"
 
static const char exec_reverse [] = "reverse"
 
static const char * exec_direction = exec_forward
 
static const char *const exec_direction_names []
 
static const struct internalvar_funcs siginfo_funcs
 

Macro Definition Documentation

◆ RESUME_ALL

#define RESUME_ALL   minus_one_ptid

Definition at line 367 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 mach_msg_type_name_t msgportsPoly 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:1861

Definition at line 340 of file infrun.c.

Referenced by handle_command().

◆ UNSET_SIGS

#define UNSET_SIGS ( nsigs,
sigs,
flags )
Value:
do { \
int signum = (nsigs); \
while (signum-- > 0) \
if ((sigs)[signum]) \
(flags)[signum] = 0; \
} while (0)

Definition at line 348 of file infrun.c.

Referenced by handle_command().

Typedef Documentation

◆ displaced_step_reset_cleanup

using displaced_step_reset_cleanup = FORWARD_SCOPE_EXIT (displaced_step_reset)

Definition at line 1749 of file infrun.c.

◆ for_each_just_stopped_thread_callback_func

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

Definition at line 3740 of file infrun.c.

Enumeration Type Documentation

◆ step_over_what_flag

Enumerator
STEP_OVER_BREAKPOINT 
STEP_OVER_WATCHPOINT 

Definition at line 1397 of file infrun.c.

Function Documentation

◆ _initialize_infrun()

void _initialize_infrun ( )

Definition at line 9916 of file infrun.c.

Referenced by initialize_all_files().

◆ adjust_pc_after_break()

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

◆ all_uis_check_sync_execution_done()

void all_uis_check_sync_execution_done ( void )

Definition at line 4293 of file infrun.c.

References check_curr_ui_sync_execution_done(), and SWITCH_THRU_ALL_UIS.

Referenced by fetch_inferior_event(), and step_1().

◆ 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,
frame_info_ptr frame )
static

◆ check_multi_target_resumption()

static void check_multi_target_resumption ( process_stratum_target * resume_target)
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 9757 of file infrun.c.

References clear_internalvar(), and lookup_internalvar().

Referenced by core_target_open(), and handle_inferior_event().

◆ 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 ( execution_control_state * ecs)
static

◆ currently_stepping()

static bool 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_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

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

Definition at line 9641 of file infrun.c.

Referenced by remove_dummy_frame(), and restore_infcall_suspend_state().

◆ displaced_step_finish()

static displaced_step_finish_status displaced_step_finish ( thread_info * event_thread,
const target_waitstatus & event_status )
static

◆ displaced_step_in_progress()

static bool displaced_step_in_progress ( inferior * inf)
static

◆ displaced_step_in_progress_any_thread()

static bool displaced_step_in_progress_any_thread ( )
static

Definition at line 1629 of file infrun.c.

References all_non_exited_inferiors(), and displaced_step_in_progress().

Referenced by start_step_over().

◆ displaced_step_in_progress_thread()

static bool displaced_step_in_progress_thread ( thread_info * thread)
static

Definition at line 1611 of file infrun.c.

References step_over_info::thread.

Referenced by handle_inferior_event().

◆ displaced_step_prepare()

static displaced_step_prepare_status displaced_step_prepare ( thread_info * thread)
static

◆ displaced_step_prepare_throw()

static displaced_step_prepare_status displaced_step_prepare_throw ( thread_info * tp)
static

◆ displaced_step_reset()

static void displaced_step_reset ( displaced_step_thread_state * displaced)
static

Definition at line 1741 of file infrun.c.

References displaced_step_thread_state::reset().

◆ do_target_resume()

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

◆ do_target_wait()

static bool do_target_wait ( execution_control_state * ecs,
target_wait_flags options )
static

◆ do_target_wait_1()

static ptid_t do_target_wait_1 ( inferior * inf,
ptid_t ptid,
target_waitstatus * status,
target_wait_flags options )
static

◆ end_stepping_range()

static void end_stepping_range ( struct execution_control_state * ecs)
static

◆ fetch_inferior_event()

void fetch_inferior_event ( )

◆ fill_in_stop_func()

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

◆ find_thread_waiting_for_vfork_done()

static thread_info * find_thread_waiting_for_vfork_done ( )
static

◆ finish_step_over()

static int finish_step_over ( struct execution_control_state * ecs)
static

◆ follow_exec()

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

◆ follow_fork()

static bool follow_fork ( )
static

◆ follow_fork_inferior()

static bool follow_fork_inferior ( bool follow_child,
bool 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)

◆ gdbarch_supports_displaced_stepping()

static bool gdbarch_supports_displaced_stepping ( gdbarch * arch)
static

◆ get_infcall_suspend_state_regcache()

readonly_detached_regcache * get_infcall_suspend_state_regcache ( struct infcall_suspend_state * inf_state)

Definition at line 9647 of file infrun.c.

References infcall_suspend_state::registers().

Referenced by dummy_frame_sniffer().

◆ get_inferior_stop_soon()

static enum stop_kind get_inferior_stop_soon ( execution_control_state * ecs)
static

◆ get_last_target_status()

void get_last_target_status ( process_stratum_target ** target,
ptid_t * ptid,
target_waitstatus * status )

◆ get_previous_thread()

thread_info * get_previous_thread ( )

Definition at line 175 of file infrun.c.

References previous_thread.

Referenced by info_program_command().

◆ get_stop_id()

ULONGEST get_stop_id ( void )

Definition at line 2842 of file infrun.c.

References current_stop_id.

Referenced by stop_context::changed(), fetch_inferior_event(), and stop_context::stop_context().

◆ 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 9358 of file infrun.c.

References complete_on_enum(), and signal_completer().

◆ handle_inferior_event()

static void handle_inferior_event ( struct execution_control_state * ecs)
static

Definition at line 5590 of file infrun.c.

References add_thread(), adjust_pc_after_break(), reg_buffer::arch(), inferior::aspace, regcache::aspace(), bpstat_causes_stop(), bpstat_stop_status_nowatch(), breakpoint_inserted_here_p(), breakpoint_retire_moribund(), target_waitstatus::child_ptid, clear_exit_convenience_vars(), context_switch(), thread_info::control, current_inferior(), delete_just_stopped_threads_single_step_breakpoints(), detach_breakpoints(), detach_fork, displaced_debug_printf, displaced_step_finish(), displaced_step_in_progress_thread(), execution_control_state::event_thread, target_waitstatus::execd_pathname, inferior::exit_code, target_waitstatus::exit_status, find_inferior_ptid(), process_stratum_target::find_thread(), follow_exec(), follow_fork(), follow_fork_mode_child, follow_fork_mode_string, gdb_flush(), gdb_stdout, inferior::gdbarch, gdbarch_displaced_step_restore_all_in_ptid(), gdbarch_gdb_signal_to_target(), gdbarch_gdb_signal_to_target_p(), gdbarch_supports_displaced_stepping(), get_current_regcache(), get_inferior_stop_soon(), get_thread_arch_aspace_regcache(), get_thread_regcache(), handle_no_resumed(), handle_signal_stop(), handle_solib_event(), handle_stop_requested(), handle_syscall_event(), handle_vfork_child_exec_or_exit(), handle_vfork_done(), inferior::has_exit_code, thread_info::inf, inferior_ptid, inferior_thread(), infrun_debug_printf, insert_breakpoints(), interps_notify_exited(), interps_notify_no_history(), interps_notify_signal_exited(), keep_going(), target_waitstatus::kind(), lookup_internalvar(), mark_non_executing_threads(), thread_control_state::may_range_step, NO_STOP_QUIETLY, non_stop, target_terminal::ours(), paddress(), thread_info::pending_follow, prepare_to_wait(), process_event_stop_test(), inferior::process_target(), execution_control_state::ptid, reg_buffer::regcache, regcache_read_pc(), regcache_write_pc(), reinit_frame_cache(), resume(), return_child_result_value, sched_multi, set_internalvar_integer(), set_last_target_status(), thread_info::set_running(), thread_info::set_stop_pc(), thread_info::set_stop_signal(), target_waitstatus::set_stopped(), target_waitstatus::sig, start_step_over(), thread_control_state::stop_bpstat, STOP_NONE, stop_on_solib_events, thread_info::stop_pc(), stop_print_frame, STOP_QUIETLY, STOP_QUIETLY_NO_SIGSTOP, STOP_QUIETLY_REMOTE, stop_stack_dummy, stop_waiting(), switch_back_to_stepped_thread(), switch_to_inferior_no_thread(), switch_to_thread(), switch_to_thread_no_regs(), execution_control_state::target, target_is_non_stop_p(), target_mourn_inferior(), TARGET_WAITKIND_EXECD, TARGET_WAITKIND_EXITED, TARGET_WAITKIND_FORKED, TARGET_WAITKIND_IGNORE, TARGET_WAITKIND_LOADED, TARGET_WAITKIND_NO_HISTORY, TARGET_WAITKIND_NO_RESUMED, TARGET_WAITKIND_SIGNALLED, TARGET_WAITKIND_SPURIOUS, TARGET_WAITKIND_STOPPED, TARGET_WAITKIND_SYSCALL_ENTRY, TARGET_WAITKIND_SYSCALL_RETURN, TARGET_WAITKIND_THREAD_CREATED, TARGET_WAITKIND_THREAD_EXITED, TARGET_WAITKIND_VFORK_DONE, TARGET_WAITKIND_VFORKED, inferior::thread_waiting_for_vfork_done, target_waitstatus::to_string(), and execution_control_state::ws.

Referenced by fetch_inferior_event(), and wait_for_inferior().

◆ handle_no_resumed()

static bool handle_no_resumed ( struct execution_control_state * ecs)
static

◆ handle_one()

static bool handle_one ( const wait_one_event & event)
static

◆ handle_signal_stop()

static void handle_signal_stop ( struct execution_control_state * ecs)
static

Definition at line 6386 of file infrun.c.

References reg_buffer::arch(), regcache::aspace(), bpstat_clear(), bpstat_explains_signal(), bpstat_stop_status(), build_bpstat_chain(), clear_step_over_info(), context_switch(), thread_info::control, current_inferior(), currently_stepping(), debug_infrun, delete_just_stopped_threads_single_step_breakpoints(), deprecated_context_hook, execution_control_state::event_thread, finish_step_over(), gdbarch_decr_pc_after_break(), gdbarch_have_nonsteppable_watchpoint(), gdbarch_program_breakpoint_here_p(), gdbarch_single_step_through_delay(), gdbarch_single_step_through_delay_p(), get_current_frame(), get_current_regcache(), get_frame_arch(), get_inferior_stop_soon(), get_stack_frame_id(), get_thread_regcache(), thread_info::global_num, execution_control_state::hit_singlestep_breakpoint, target_terminal::inferior(), infrun_debug_printf, insert_hp_step_resume_breakpoint_at_frame(), keep_going(), target_waitstatus::kind(), NO_STOP_QUIETLY, notify_signal_received(), target_terminal::ours_for_output(), paddress(), pc_at_non_inline_function(), pc_in_thread_step_range(), thread_info::prev_pc, process_event_stop_test(), execution_control_state::ptid, record_full_gdb_operation_disable_set(), record_full_is_used(), reg_buffer::regcache, regcache_read_pc(), regcache_write_pc(), thread_info::set_stop_pc(), thread_info::set_stop_signal(), target_waitstatus::sig, signal_print, signal_program, signal_stop_state(), single_step_breakpoint_inserted_here_p(), skip_inline_frames(), thread_info::step_after_step_resume_breakpoint, thread_control_state::step_range_end, thread_control_state::step_resume_breakpoint, thread_info::stepping_over_breakpoint, thread_info::stepping_over_watchpoint, thread_control_state::stop_bpstat, thread_info::stop_pc(), stop_print_frame, STOP_QUIETLY, STOP_QUIETLY_NO_SIGSTOP, STOP_QUIETLY_REMOTE, thread_info::stop_requested, thread_info::stop_signal(), thread_control_state::stop_step, stop_waiting(), stopped_by_random_signal, switch_back_to_stepped_thread(), target_have_steppable_watchpoint(), target_stopped_by_hw_breakpoint(), target_stopped_by_sw_breakpoint(), target_stopped_by_watchpoint(), target_stopped_data_address, TARGET_WAITKIND_STOPPED, thread_has_single_step_breakpoint_here(), thread_control_state::trap_expected, watchpoints_triggered(), and execution_control_state::ws.

Referenced by handle_inferior_event(), and handle_stop_requested().

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

◆ handle_vfork_done()

static void handle_vfork_done ( thread_info * event_thread)
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

◆ infrun_inferior_execd()

static void infrun_inferior_execd ( inferior * exec_inf,
inferior * follow_inf )
static

◆ infrun_inferior_exit()

static void infrun_inferior_exit ( struct inferior * inf)
static

Definition at line 1641 of file infrun.c.

◆ infrun_quit_handler()

static void infrun_quit_handler ( )
static

Definition at line 4317 of file infrun.c.

References check_quit_flag(), target_terminal::is_ours(), and target_pass_ctrlc().

Referenced by fetch_inferior_event().

◆ infrun_thread_ptid_changed()

static void infrun_thread_ptid_changed ( process_stratum_target * target,
ptid_t old_ptid,
ptid_t new_ptid )
static

Definition at line 2203 of file infrun.c.

References current_inferior(), and inferior_ptid.

◆ infrun_thread_stop_requested()

static void infrun_thread_stop_requested ( ptid_t ptid)
static

◆ init_thread_stepping_state()

void init_thread_stepping_state ( struct thread_info * tss)

◆ init_wait_for_inferior()

void init_wait_for_inferior ( void )

◆ inline_frame_is_marked_for_skip()

static bool inline_frame_is_marked_for_skip ( bool prev_frame,
struct thread_info * tp )
static

◆ insert_exception_resume_breakpoint()

static void insert_exception_resume_breakpoint ( struct thread_info * tp,
const struct block * b,
frame_info_ptr 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,
frame_info_ptr frame )
static

◆ insert_hp_step_resume_breakpoint_at_frame()

static void insert_hp_step_resume_breakpoint_at_frame ( frame_info_ptr 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 ( frame_info_ptr 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

◆ 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 bool keep_going_stepped_thread ( struct thread_info * tp)
static

◆ mark_infrun_async_event_handler()

void mark_infrun_async_event_handler ( void )

Definition at line 139 of file infrun.c.

References infrun_async_inferior_event_token, and mark_async_event_handler().

Referenced by attach_command(), and prepare_to_wait().

◆ mark_non_executing_threads()

static void mark_non_executing_threads ( process_stratum_target * target,
ptid_t event_ptid,
const target_waitstatus & ws )
static

◆ maybe_call_commit_resumed_all_targets()

void maybe_call_commit_resumed_all_targets ( )

◆ maybe_remove_breakpoints()

void maybe_remove_breakpoints ( void )

◆ maybe_set_commit_resumed_all_targets()

static void maybe_set_commit_resumed_all_targets ( )
static

◆ maybe_software_singlestep()

static bool maybe_software_singlestep ( struct gdbarch * gdbarch)
static

◆ new_stop_id()

static void new_stop_id ( void )
static

Definition at line 2850 of file infrun.c.

References current_stop_id.

Referenced by normal_stop().

◆ normal_stop()

bool normal_stop ( )

◆ notify_about_to_proceed()

static void notify_about_to_proceed ( )
static

◆ notify_normal_stop()

void notify_normal_stop ( bpstat * bs,
int print_frame )

◆ notify_signal_received()

void notify_signal_received ( gdb_signal sig)

◆ notify_user_selected_context_changed()

void notify_user_selected_context_changed ( user_selected_what selection)

◆ nullify_last_target_wait_ptid()

void nullify_last_target_wait_ptid ( void )

◆ poll_one_curr_target()

static ptid_t poll_one_curr_target ( struct target_waitstatus * ws)
static

◆ prepare_for_detach()

void prepare_for_detach ( void )

◆ prepare_to_wait()

static void prepare_to_wait ( struct execution_control_state * ecs)
static

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

◆ 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,
bool displays )

◆ print_stop_location()

static void print_stop_location ( const 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 3395 of file infrun.c.

References all_non_exited_threads(), annotate_starting(), reg_buffer::arch(), regcache::aspace(), breakpoint_here_p(), check_multi_target_resumption(), thread_info::control, EXEC_REVERSE, execution_direction, follow_fork(), gdb_flush(), gdb_stdout, gdbarch_single_step_through_delay(), gdbarch_single_step_through_delay_p(), get_current_frame(), get_current_regcache(), global_thread_step_over_chain_enqueue(), thread_control_state::in_infcall, INF_EXEC_COMPLETE, target_terminal::inferior(), inferior_event_handler(), inferior_thread(), infrun_async_inferior_event_token, infrun_debug_printf, INFRUN_SCOPED_DEBUG_ENTER_EXIT, INFRUN_SCOPED_DEBUG_START_END, init_thread_stepping_state(), mark_async_event_handler(), non_stop, normal_stop(), ordinary_breakpoint_here, paddress(), thread_info::prev_pc, proceed_resume_thread_checked(), thread_info::ptid, reg_buffer::regcache, regcache_read_pc_protected(), regcache_write_pc(), scoped_disable_commit_resumed::reset_and_commit(), schedlock_applies(), set_running(), thread_info::set_stop_signal(), start_step_over(), step_over_info_valid_p(), thread_control_state::stepping_command, thread_info::stepping_over_breakpoint, thread_info::stop_pc(), thread_info::stop_pc_p(), switch_to_thread(), switch_to_thread_no_regs(), target_can_async_p(), target_is_non_stop_p(), thread_is_in_step_over_chain(), thread_still_needs_step_over(), update_previous_thread(), user_visible_resume_ptid(), and user_visible_resume_target().

Referenced by attach_post_wait(), continue_1(), finish_backward(), finish_command(), finish_forward(), jump_command(), proceed_after_attach(), proceed_after_vfork_done(), proceed_thread(), proceed_thread_callback(), run_command_1(), run_inferior_call(), signal_command(), step_1(), until_break_command(), and until_next_command().

◆ proceed_after_vfork_done()

static void proceed_after_vfork_done ( thread_info * thread)
static

◆ proceed_resume_thread_checked()

static void proceed_resume_thread_checked ( thread_info * tp)
static

◆ process_event_stop_test()

static void process_event_stop_test ( struct execution_control_state * ecs)
static

Definition at line 6896 of file infrun.c.

References bp_location::address, bp_hp_step_resume, bpstat_run_callbacks(), bpstat_what(), BPSTAT_WHAT_CLEAR_LONGJMP_RESUME, BPSTAT_WHAT_HP_STEP_RESUME, BPSTAT_WHAT_KEEP_CHECKING, BPSTAT_WHAT_SET_LONGJMP_RESUME, BPSTAT_WHAT_SINGLE, BPSTAT_WHAT_STEP_RESUME, BPSTAT_WHAT_STOP_NOISY, BPSTAT_WHAT_STOP_SILENT, bpstat_what::call_dummy, check_exception_resume(), check_longjmp_breakpoint_for_call_dummy(), thread_info::control, thread_info::current_line, thread_info::current_symtab, delete_exception_resume_breakpoint(), delete_step_resume_breakpoint(), symtab_and_line::end, end_stepping_range(), block::entry_pc(), execution_control_state::event_thread, thread_control_state::exception_resume_breakpoint, EXEC_REVERSE, execution_direction, fill_in_stop_func(), find_frame_sal(), find_pc_function(), find_pc_line(), find_pc_overlay(), breakpoint::first_loc(), frame_find_by_id(), frame_id_p(), frame_unwind_caller_id(), function_name_is_marked_for_skip(), gdbarch_addr_bits_remove(), gdbarch_get_longjmp_target(), gdbarch_get_longjmp_target_p(), gdbarch_in_indirect_branch_thunk(), gdbarch_in_solib_return_trampoline(), gdbarch_skip_solib_resolver(), gdbarch_skip_trampoline_code(), get_current_frame(), get_frame_arch(), get_frame_id(), get_frame_program_space(), get_frame_type(), get_stack_frame_id(), handle_step_into_function(), handle_step_into_function_backward(), in_solib_dynsym_resolve_code(), infrun_debug_printf, thread_info::initiating_frame, INLINE_FRAME, inline_frame_is_marked_for_skip(), inline_skipped_frames(), insert_longjmp_resume_breakpoint(), insert_step_resume_breakpoint_at_caller(), insert_step_resume_breakpoint_at_sal(), bpstat_what::is_longjmp, symtab_and_line::is_stmt, keep_going(), symtab_and_line::line, bpstat_what::main_action, thread_control_state::may_range_step, null_frame_id, outer_frame_id, paddress(), symtab_and_line::pc, pc_in_thread_step_range(), bp_location::permanent, thread_info::prev_pc, probe_safe_evaluate_at_pc(), thread_control_state::proceed_to_finish, symtab_and_line::pspace, symtab_and_line::section, set_step_info(), SIGTRAMP_FRAME, skip_language_trampoline(), thread_info::step_after_step_resume_breakpoint, step_into_inline_frame(), STEP_OVER_ALL, thread_control_state::step_over_calls, STEP_OVER_NONE, STEP_OVER_UNDEBUGGABLE, thread_control_state::step_range_end, thread_control_state::step_range_start, thread_control_state::step_resume_breakpoint, thread_control_state::step_start_function, step_stop_if_no_debug, thread_info::stepped_breakpoint, stepped_in_from(), thread_info::stepping_over_breakpoint, thread_control_state::stop_bpstat, execution_control_state::stop_func_alt_start, execution_control_state::stop_func_name, execution_control_state::stop_func_start, thread_info::stop_pc(), stop_print_frame, stop_stack_dummy, stop_waiting(), switch_back_to_stepped_thread(), symtab_and_line::symtab, breakpoint::type, value_as_address(), and symbol::value_block().

Referenced by handle_inferior_event(), and handle_signal_stop().

◆ random_pending_event_thread()

static struct thread_info * random_pending_event_thread ( inferior * inf,
ptid_t waiton_ptid )
static

◆ reinstall_readline_callback_handler_cleanup()

static void reinstall_readline_callback_handler_cleanup ( )
static

◆ restart_after_all_stop_detach()

void restart_after_all_stop_detach ( process_stratum_target * proc_target)

◆ restart_stepped_thread()

static bool restart_stepped_thread ( process_stratum_target * resume_target,
ptid_t resume_ptid )
static

◆ restart_threads()

static void restart_threads ( struct thread_info * event_thread,
inferior * inf = nullptr )
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)

◆ resume()

static void resume ( gdb_signal sig)
static

◆ resume_1()

static void resume_1 ( enum gdb_signal sig)
static

Definition at line 2453 of file infrun.c.

References reg_buffer::arch(), regcache::aspace(), bpstat_should_step(), breakpoint_here_p(), breakpoint_inserted_here_p(), clear_step_over_info(), thread_info::control, current_inferior(), currently_stepping(), delete_single_step_breakpoints(), displaced_step_prepare(), DISPLACED_STEP_PREPARE_STATUS_CANT, DISPLACED_STEP_PREPARE_STATUS_OK, DISPLACED_STEP_PREPARE_STATUS_UNAVAILABLE, do_target_resume(), EXEC_REVERSE, execution_direction, breakpoint::first_loc(), gdbarch_cannot_step_breakpoint(), gdbarch_displaced_step_hw_singlestep(), gdbarch_skip_permanent_breakpoint(), get_current_frame(), get_current_regcache(), get_thread_regcache(), thread_info::global_num, thread_info::has_pending_waitstatus(), thread_info::inf, inferior_ptid, inferior_thread(), infrun_async_inferior_event_token, infrun_debug_printf, insert_breakpoints(), insert_hp_step_resume_breakpoint_at_frame(), insert_single_step_breakpoint(), internal_resume_ptid(), mark_async_event_handler(), thread_control_state::may_range_step, maybe_software_singlestep(), paddress(), pc_in_thread_step_range(), thread_info::pending_waitstatus(), bp_location::permanent, permanent_breakpoint_here, inferior::process_target(), thread_info::ptid, regcache_read_pc(), thread_info::set_resumed(), set_step_over_info(), thread_info::set_stop_signal(), thread_info::step_after_step_resume_breakpoint, step_over_info_valid_p(), thread_control_state::step_resume_breakpoint, thread_info::stepped_breakpoint, thread_control_state::stepping_command, stop_all_threads(), thread_info::stop_requested, target_async(), target_can_async_p(), target_is_non_stop_p(), thread_has_single_step_breakpoints_set(), thread_is_in_step_over_chain(), process_stratum_target::threads_executing, target_waitstatus::to_string(), thread_control_state::trap_expected, and use_displaced_stepping().

Referenced by resume().

◆ resumed_thread_with_pending_status()

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

Definition at line 6241 of file infrun.c.

References thread_info::has_pending_waitstatus(), and thread_info::resumed().

Referenced by finish_step_over().

◆ save_infcall_control_state()

infcall_control_state_up save_infcall_control_state ( )

◆ save_infcall_suspend_state()

infcall_suspend_state_up save_infcall_suspend_state ( )

◆ save_waitstatus()

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

◆ schedlock_applies()

static bool 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 215 of file infrun.c.

References target_supports_disable_randomization().

◆ 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 ( process_stratum_target * target,
ptid_t ptid,
const target_waitstatus & status )

◆ set_last_target_status_stopped()

static void set_last_target_status_stopped ( thread_info * tp)
static

◆ set_non_stop()

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

Definition at line 230 of file infrun.c.

References non_stop, non_stop_1, and target_has_execution().

◆ 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

◆ set_step_info()

void set_step_info ( thread_info * tp,
frame_info_ptr 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 381 of file infrun.c.

References update_solib_breakpoints().

◆ 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_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 189 of file infrun.c.

References gdb_printf().

◆ 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 200 of file infrun.c.

References gdb_printf(), gdb_puts(), and target_supports_disable_randomization().

◆ 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 9797 of file infrun.c.

References EXEC_FORWARD, EXEC_REVERSE, execution_direction, and gdb_printf().

◆ 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 1203 of file infrun.c.

References gdb_printf().

◆ 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 419 of file infrun.c.

References gdb_printf().

◆ 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 243 of file infrun.c.

References gdb_printf().

◆ 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 295 of file infrun.c.

References gdb_printf().

◆ 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 9814 of file infrun.c.

References gdb_printf().

◆ 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 2226 of file infrun.c.

References gdb_printf().

◆ 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 149 of file infrun.c.

References gdb_printf().

◆ 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 388 of file infrun.c.

References gdb_printf().

◆ sig_print_header()

static void sig_print_header ( void )
static

Definition at line 9164 of file infrun.c.

References gdb_printf().

Referenced by handle_command(), and info_signals_command().

◆ sig_print_info()

static void sig_print_info ( enum gdb_signal oursig)
static

Definition at line 9171 of file infrun.c.

References gdb_printf(), name, signal_print, signal_program, and signal_stop.

Referenced by handle_command(), and info_signals_command().

◆ 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 9140 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 9091 of file infrun.c.

References signal_print.

Referenced by remote_target::print_one_stopped_thread().

◆ signal_print_update()

int signal_print_update ( int signo,
int state )

Definition at line 9130 of file infrun.c.

References signal_cache_update(), and signal_print.

Referenced by check_thread_signals(), and nto_initialize_signals().

◆ signal_stop_state()

int signal_stop_state ( int signo)

Definition at line 9085 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 9120 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 bool start_step_over ( void )
static

◆ step_over_info_valid_p()

static bool step_over_info_valid_p ( void )
static

◆ stepped_in_from()

static bool stepped_in_from ( frame_info_ptr frame,
struct frame_id step_frame_id )
static

Definition at line 4807 of file infrun.c.

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

Referenced by process_event_stop_test().

◆ 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 1507 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 ( const char * reason,
inferior * inf )

◆ stop_all_threads_if_all_stop_mode()

static void stop_all_threads_if_all_stop_mode ( )
static

Definition at line 4154 of file infrun.c.

References exists_non_stop_target(), non_stop, and stop_all_threads().

Referenced by fetch_inferior_event(), and wait_for_inferior().

◆ stop_waiting()

static void stop_waiting ( struct execution_control_state * ecs)
static

◆ switch_back_to_stepped_thread()

static bool switch_back_to_stepped_thread ( struct execution_control_state * ecs)
static

◆ thread_is_stepping_over_breakpoint()

int thread_is_stepping_over_breakpoint ( int thread)

Definition at line 1498 of file infrun.c.

References step_over_info::thread.

Referenced by should_be_inserted().

◆ 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 bool thread_still_needs_step_over_bp ( struct thread_info * tp)
static

◆ update_observer_mode()

void update_observer_mode ( void )

◆ update_previous_thread()

void update_previous_thread ( )

◆ update_signals_program_target()

void update_signals_program_target ( void )

Definition at line 360 of file infrun.c.

References signal_program, and target_program_signals().

Referenced by remote_target::start_remote_1().

◆ use_displaced_stepping()

static bool use_displaced_stepping ( thread_info * tp)
static

◆ user_visible_resume_ptid()

ptid_t user_visible_resume_ptid ( int step)

◆ user_visible_resume_target()

process_stratum_target * user_visible_resume_target ( ptid_t resume_ptid)

◆ wait_for_inferior()

static void wait_for_inferior ( inferior * inf)
static

◆ wait_one()

static wait_one_event wait_one ( )
static

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 2837 of file infrun.c.

Referenced by get_stop_id(), and new_stop_id().

◆ debug_infrun

bool debug_infrun = false

◆ detach_fork

bool detach_fork = true
static

◆ disable_randomization

bool disable_randomization = true

◆ enable_commit_resumed

bool enable_commit_resumed = true
static

◆ exec_direction

const char* exec_direction = exec_forward
static

Definition at line 9771 of file infrun.c.

Referenced by set_exec_direction_func().

◆ exec_direction_names

const char* const exec_direction_names[]
static
Initial value:
= {
nullptr
}
static const char exec_forward[]
Definition infrun.c:9769
static const char exec_reverse[]
Definition infrun.c:9770

Definition at line 9772 of file infrun.c.

◆ exec_forward

const char exec_forward[] = "forward"
static

Definition at line 9769 of file infrun.c.

Referenced by set_exec_direction_func().

◆ exec_reverse

const char exec_reverse[] = "reverse"
static

Definition at line 9770 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:
=
{
nullptr,
}
static const char follow_exec_mode_new[]
Definition infrun.c:1192
static const char follow_exec_mode_same[]
Definition infrun.c:1193

Definition at line 1194 of file infrun.c.

◆ follow_exec_mode_new

const char follow_exec_mode_new[] = "new"
static

Definition at line 1192 of file infrun.c.

Referenced by follow_exec().

◆ follow_exec_mode_same

const char follow_exec_mode_same[] = "same"
static

Definition at line 1193 of file infrun.c.

◆ follow_exec_mode_string

const char* follow_exec_mode_string = follow_exec_mode_same
static

Definition at line 1201 of file infrun.c.

Referenced by follow_exec().

◆ follow_fork_mode_child

const char follow_fork_mode_child[] = "child"
static

Definition at line 408 of file infrun.c.

Referenced by follow_fork(), and handle_inferior_event().

◆ follow_fork_mode_kind_names

const char* const follow_fork_mode_kind_names[]
static
Initial value:
= {
nullptr
}
static const char follow_fork_mode_parent[]
Definition infrun.c:409
static const char follow_fork_mode_child[]
Definition infrun.c:408

Definition at line 411 of file infrun.c.

◆ follow_fork_mode_parent

const char follow_fork_mode_parent[] = "parent"
static

Definition at line 409 of file infrun.c.

◆ follow_fork_mode_string

const char* follow_fork_mode_string = follow_fork_mode_parent
static

Definition at line 417 of file infrun.c.

Referenced by follow_fork(), and handle_inferior_event().

◆ global_thread_step_over_list

thread_step_over_list global_thread_step_over_list

◆ 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 116 of file infrun.c.

Referenced by infrun_async().

◆ non_stop

bool non_stop = false

◆ non_stop_1

bool non_stop_1 = false
static

Definition at line 227 of file infrun.c.

Referenced by set_non_stop(), and set_observer_mode().

◆ observer_mode

bool observer_mode = false
static

Definition at line 255 of file infrun.c.

Referenced by set_observer_mode(), and update_observer_mode().

◆ observer_mode_1

bool observer_mode_1 = false
static

Definition at line 256 of file infrun.c.

Referenced by set_observer_mode(), and update_observer_mode().

◆ previous_thread

thread_info_ref previous_thread
static

Definition at line 159 of file infrun.c.

Referenced by get_previous_thread(), normal_stop(), and update_previous_thread().

◆ sched_multi

bool sched_multi = false

◆ schedlock_off

const char schedlock_off[] = "off"
static

Definition at line 2213 of file infrun.c.

Referenced by set_schedlock_func().

◆ schedlock_on

const char schedlock_on[] = "on"
static

Definition at line 2214 of file infrun.c.

Referenced by schedlock_applies(), and user_visible_resume_ptid().

◆ schedlock_replay

const char schedlock_replay[] = "replay"
static

Definition at line 2216 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 2215 of file infrun.c.

Referenced by schedlock_applies(), and user_visible_resume_ptid().

◆ scheduler_enums

const char* const scheduler_enums[]
static
Initial value:
= {
nullptr
}
static const char schedlock_on[]
Definition infrun.c:2214
static const char schedlock_step[]
Definition infrun.c:2215
static const char schedlock_replay[]
Definition infrun.c:2216
static const char schedlock_off[]
Definition infrun.c:2213

Definition at line 2217 of file infrun.c.

◆ scheduler_mode

const char* scheduler_mode = schedlock_replay
static

◆ siginfo_funcs

const struct internalvar_funcs siginfo_funcs
static
Initial value:
=
{
nullptr,
}
static struct value * siginfo_make_value(struct gdbarch *gdbarch, struct internalvar *var, void *ignore)
Definition infrun.c:9500

Definition at line 9823 of file infrun.c.

◆ 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:9470
static void siginfo_value_read(struct value *v)
Definition infrun.c:9446

Definition at line 9489 of file infrun.c.

Referenced by siginfo_make_value().

◆ signal_catch

unsigned char signal_catch[GDB_SIGNAL_LAST]
static

Definition at line 333 of file infrun.c.

Referenced by signal_cache_update(), and signal_catch_update().

◆ signal_pass

unsigned char signal_pass[GDB_SIGNAL_LAST]
static

◆ signal_print

unsigned char signal_print[GDB_SIGNAL_LAST]
static

◆ signal_program

unsigned char signal_program[GDB_SIGNAL_LAST]
static

◆ signal_stop

unsigned char signal_stop[GDB_SIGNAL_LAST]
static

◆ step_over_info

struct step_over_info step_over_info
static

Definition at line 1452 of file infrun.c.

◆ step_stop_if_no_debug

bool step_stop_if_no_debug = false

Definition at line 147 of file infrun.c.

Referenced by prepare_one_step(), and process_event_stop_test().

◆ stop_command

struct cmd_list_element* stop_command
static

Definition at line 371 of file infrun.c.

Referenced by normal_stop().

◆ stop_on_solib_events

int stop_on_solib_events

◆ stop_print_frame

bool stop_print_frame
static

◆ target_last_proc_target

process_stratum_target* target_last_proc_target
static

◆ target_last_wait_ptid

ptid_t target_last_wait_ptid
static

◆ target_last_waitstatus

struct target_waitstatus target_last_waitstatus
static