GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions | Variables
/tmp/gdb-13.1/gdb/infrun.h File Reference
#include "gdbthread.h"
#include "symtab.h"
#include "gdbsupport/byte-vector.h"
#include "gdbsupport/intrusive_list.h"

Go to the source code of this file.

Classes

struct  scoped_disable_commit_resumed
 
struct  scoped_enable_commit_resumed
 

Macros

#define infrun_debug_printf(fmt, ...)    debug_prefixed_printf_cond (debug_infrun, "infrun", fmt, ##__VA_ARGS__)
 
#define INFRUN_SCOPED_DEBUG_START_END(fmt, ...)    scoped_debug_start_end (debug_infrun, "infrun", fmt, ##__VA_ARGS__)
 
#define INFRUN_SCOPED_DEBUG_ENTER_EXIT    scoped_debug_enter_exit (debug_infrun, "infrun")
 

Enumerations

enum  exec_direction_kind { EXEC_FORWARD , EXEC_REVERSE }
 

Functions

template<typename ThreadRange >
static void infrun_debug_show_threads (const char *title, ThreadRange threads)
 
ULONGEST get_stop_id (void)
 
void start_remote (int from_tty)
 
void clear_proceed_status (int step)
 
void proceed (CORE_ADDR, enum gdb_signal)
 
ptid_t user_visible_resume_ptid (int step)
 
process_stratum_targetuser_visible_resume_target (ptid_t resume_ptid)
 
int normal_stop (void)
 
void get_last_target_status (process_stratum_target **target, ptid_t *ptid, struct target_waitstatus *status)
 
void set_last_target_status (process_stratum_target *target, ptid_t ptid, const target_waitstatus &status)
 
void nullify_last_target_wait_ptid ()
 
void stop_all_threads (const char *reason, inferior *inf=nullptr)
 
void prepare_for_detach (void)
 
void fetch_inferior_event ()
 
void init_wait_for_inferior (void)
 
void insert_step_resume_breakpoint_at_sal (struct gdbarch *, struct symtab_and_line, struct frame_id)
 
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)
 
void set_step_info (thread_info *tp, frame_info_ptr frame, struct symtab_and_line sal)
 
void print_signal_received_reason (struct ui_out *uiout, enum gdb_signal siggnal)
 
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)
 
void print_no_history_reason (struct ui_out *uiout)
 
void print_return_value (struct ui_out *uiout, struct return_value_info *rv)
 
void print_stop_event (struct ui_out *uiout, bool displays=true)
 
void print_target_wait_results (ptid_t waiton_ptid, ptid_t result_ptid, const struct target_waitstatus &ws)
 
int signal_stop_state (int)
 
int signal_print_state (int)
 
int signal_pass_state (int)
 
int signal_stop_update (int, int)
 
int signal_print_update (int, int)
 
int signal_pass_update (int, int)
 
void update_signals_program_target (void)
 
void clear_exit_convenience_vars (void)
 
std::string displaced_step_dump_bytes (const gdb_byte *buf, size_t len)
 
void update_observer_mode (void)
 
void signal_catch_update (const unsigned int *)
 
enum gdb_signal gdb_signal_from_command (int num)
 
void infrun_async (int enable)
 
void mark_infrun_async_event_handler (void)
 
void maybe_remove_breakpoints (void)
 
void all_uis_check_sync_execution_done (void)
 
void all_uis_on_sync_execution_starting (void)
 
void restart_after_all_stop_detach (process_stratum_target *proc_target)
 
void maybe_call_commit_resumed_all_targets ()
 

Variables

bool debug_infrun
 
int stop_on_solib_events
 
bool sched_multi
 
bool step_stop_if_no_debug
 
bool non_stop
 
bool disable_randomization
 
enum exec_direction_kind execution_direction
 
thread_step_over_list global_thread_step_over_list
 

Macro Definition Documentation

◆ infrun_debug_printf

#define infrun_debug_printf (   fmt,
  ... 
)     debug_prefixed_printf_cond (debug_infrun, "infrun", fmt, ##__VA_ARGS__)

Definition at line 38 of file infrun.h.

◆ INFRUN_SCOPED_DEBUG_ENTER_EXIT

#define INFRUN_SCOPED_DEBUG_ENTER_EXIT    scoped_debug_enter_exit (debug_infrun, "infrun")

Definition at line 48 of file infrun.h.

◆ INFRUN_SCOPED_DEBUG_START_END

#define INFRUN_SCOPED_DEBUG_START_END (   fmt,
  ... 
)     scoped_debug_start_end (debug_infrun, "infrun", fmt, ##__VA_ARGS__)

Definition at line 43 of file infrun.h.

Enumeration Type Documentation

◆ exec_direction_kind

Enumerator
EXEC_FORWARD 
EXEC_REVERSE 

Definition at line 111 of file infrun.h.

Function Documentation

◆ all_uis_check_sync_execution_done()

void all_uis_check_sync_execution_done ( void  )

Definition at line 4088 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  )

◆ clear_exit_convenience_vars()

void clear_exit_convenience_vars ( void  )

Definition at line 9440 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)

◆ displaced_step_dump_bytes()

std::string displaced_step_dump_bytes ( const gdb_byte *  buf,
size_t  len 
)

◆ fetch_inferior_event()

void fetch_inferior_event ( )

◆ gdb_signal_from_command()

enum gdb_signal gdb_signal_from_command ( int  num)

◆ get_last_target_status()

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

◆ get_stop_id()

ULONGEST get_stop_id ( void  )

Definition at line 2688 of file infrun.c.

References current_stop_id.

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

◆ infrun_async()

void infrun_async ( int  enable)

◆ infrun_debug_show_threads()

template<typename ThreadRange >
static void infrun_debug_show_threads ( const char *  title,
ThreadRange  threads 
)
inlinestatic

◆ init_wait_for_inferior()

void init_wait_for_inferior ( void  )

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

◆ mark_infrun_async_event_handler()

void mark_infrun_async_event_handler ( void  )

Definition at line 135 of file infrun.c.

References infrun_async_inferior_event_token, and mark_async_event_handler().

Referenced by attach_command(), and prepare_to_wait().

◆ maybe_call_commit_resumed_all_targets()

void maybe_call_commit_resumed_all_targets ( )

◆ maybe_remove_breakpoints()

void maybe_remove_breakpoints ( void  )

◆ normal_stop()

int normal_stop ( void  )

◆ nullify_last_target_wait_ptid()

void nullify_last_target_wait_ptid ( )

◆ prepare_for_detach()

void prepare_for_detach ( void  )

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

References ui_out::text().

Referenced by cli_base_on_no_history(), and mi_on_no_history().

◆ print_return_value()

void print_return_value ( struct ui_out uiout,
struct return_value_info rv 
)

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

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

Definition at line 3132 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, thread_info::inf, INF_EXEC_COMPLETE, target_terminal::inferior(), inferior_event_handler(), inferior_ptid, inferior_thread(), infrun_async_inferior_event_token, infrun_debug_printf, INFRUN_SCOPED_DEBUG_ENTER_EXIT, INFRUN_SCOPED_DEBUG_START_END, init_thread_stepping_state(), keep_going_pass_signal(), mark_async_event_handler(), non_stop, normal_stop(), ordinary_breakpoint_here, paddress(), thread_info::prev_pc, previous_inferior_ptid, regcache_read_pc_protected(), regcache_write_pc(), scoped_disable_commit_resumed::reset_and_commit(), thread_info::resumed(), 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(), inferior::thread_waiting_for_vfork_done, user_visible_resume_ptid(), user_visible_resume_target(), and execution_control_state::wait_some_more.

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

◆ restart_after_all_stop_detach()

void restart_after_all_stop_detach ( process_stratum_target proc_target)

◆ set_last_target_status()

void set_last_target_status ( process_stratum_target target,
ptid_t  ptid,
const target_waitstatus status 
)

◆ set_step_info()

void set_step_info ( thread_info tp,
frame_info_ptr  frame,
struct symtab_and_line  sal 
)

◆ 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 8823 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 8774 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 8813 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 8768 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 8803 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)

◆ 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 1413 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 = nullptr 
)

◆ thread_is_stepping_over_breakpoint()

int thread_is_stepping_over_breakpoint ( int  thread)

Definition at line 1404 of file infrun.c.

References step_over_info::thread.

Referenced by should_be_inserted().

◆ update_observer_mode()

void update_observer_mode ( void  )

◆ update_signals_program_target()

void update_signals_program_target ( void  )

Definition at line 337 of file infrun.c.

References signal_program, and target_program_signals().

Referenced by remote_target::start_remote_1().

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

Definition at line 2170 of file infrun.c.

References current_inferior(), and sched_multi.

Referenced by clear_proceed_status(), normal_stop(), proceed(), and signal_command().

Variable Documentation

◆ debug_infrun

bool debug_infrun
extern

◆ disable_randomization

bool disable_randomization
extern

◆ execution_direction

enum exec_direction_kind execution_direction
extern

◆ global_thread_step_over_list

thread_step_over_list global_thread_step_over_list
extern

◆ non_stop

bool non_stop
extern

◆ sched_multi

bool sched_multi
extern

◆ step_stop_if_no_debug

bool step_stop_if_no_debug
extern

Definition at line 143 of file infrun.c.

Referenced by prepare_one_step(), and process_event_stop_test().

◆ stop_on_solib_events

int stop_on_solib_events
extern