GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions | Variables
gdbthread.h File Reference
#include "breakpoint.h"
#include "frame.h"
#include "ui-out.h"
#include "btrace.h"
#include "target/waitstatus.h"
#include "cli/cli-utils.h"
#include "gdbsupport/refcounted-object.h"
#include "gdbsupport/common-gdbthread.h"
#include "gdbsupport/forward-scope-exit.h"
#include "displaced-stepping.h"
#include "gdbsupport/intrusive_list.h"
#include "thread-fsm.h"
#include "thread-iter.h"

Go to the source code of this file.

Classes

struct  thread_control_state
 
struct  thread_control_state::step_frame_id
 
struct  thread_control_state::step_stack_frame_id
 
struct  thread_suspend_state
 
struct  private_thread_info
 
class  thread_info
 
struct  thread_info::btrace
 
class  scoped_restore_current_thread
 
class  enable_thread_stack_temporaries
 

Macros

#define threads_debug_printf(fmt, ...)    debug_prefixed_printf_cond (debug_threads, "threads", fmt, ##__VA_ARGS__)
 

Typedefs

using thread_info_resumed_with_pending_wait_status_node = intrusive_member_node< thread_info, &thread_info::resumed_with_pending_wait_status_node >
 
using thread_info_resumed_with_pending_wait_status_list = intrusive_list< thread_info, thread_info_resumed_with_pending_wait_status_node >
 
using thread_info_ref = gdb::ref_ptr< struct thread_info, refcounted_object_ref_policy >
 
using inferior_ref = gdb::ref_ptr< struct inferior, refcounted_object_ref_policy >
 
typedef int(* thread_callback_func) (struct thread_info *, void *)
 
using scoped_finish_thread_state = FORWARD_SCOPE_EXIT(finish_thread_state)
 
using thread_step_over_list_node = intrusive_member_node< thread_info, &thread_info::step_over_list_node >
 
using thread_step_over_list = intrusive_list< thread_info, thread_step_over_list_node >
 
using thread_step_over_list_iterator = reference_to_pointer_iterator< thread_step_over_list::iterator >
 
using thread_step_over_list_safe_iterator = basic_safe_iterator< thread_step_over_list_iterator >
 
using thread_step_over_list_safe_range = iterator_range< thread_step_over_list_safe_iterator >
 

Enumerations

enum  thread_state { THREAD_STOPPED , THREAD_RUNNING , THREAD_EXITED }
 
enum  step_over_calls_kind { STEP_OVER_NONE , STEP_OVER_ALL , STEP_OVER_UNDEBUGGABLE }
 

Functions

void init_thread_list (void)
 
struct thread_infoadd_thread (process_stratum_target *targ, ptid_t ptid)
 
struct thread_infoadd_thread_silent (process_stratum_target *targ, ptid_t ptid)
 
struct thread_infoadd_thread_with_info (process_stratum_target *targ, ptid_t ptid, private_thread_info *)
 
void delete_thread (struct thread_info *thread)
 
void delete_thread_silent (struct thread_info *thread)
 
void set_thread_exited (thread_info *tp, bool silent)
 
void delete_step_resume_breakpoint (struct thread_info *)
 
void delete_exception_resume_breakpoint (struct thread_info *)
 
void delete_single_step_breakpoints (struct thread_info *tp)
 
int thread_has_single_step_breakpoints_set (struct thread_info *tp)
 
int thread_has_single_step_breakpoint_here (struct thread_info *tp, const address_space *aspace, CORE_ADDR addr)
 
int show_inferior_qualified_tids (void)
 
const char * print_thread_id (struct thread_info *thr)
 
bool in_thread_list (process_stratum_target *targ, ptid_t ptid)
 
int valid_global_thread_id (int global_id)
 
thread_infofind_thread_ptid (inferior *inf, ptid_t ptid)
 
struct thread_infofind_thread_ptid (process_stratum_target *targ, ptid_t ptid)
 
struct thread_infofind_thread_global_id (int global_id)
 
struct thread_infofind_thread_by_handle (gdb::array_view< const gdb_byte > handle, struct inferior *inf)
 
struct thread_infofirst_thread_of_inferior (inferior *inf)
 
struct thread_infoany_thread_of_inferior (inferior *inf)
 
struct thread_infoany_live_thread_of_inferior (inferior *inf)
 
void thread_change_ptid (process_stratum_target *targ, ptid_t old_ptid, ptid_t new_ptid)
 
struct thread_infoiterate_over_threads (thread_callback_func, void *)
 
all_matching_threads_range all_threads (process_stratum_target *proc_target=nullptr, ptid_t filter_ptid=minus_one_ptid)
 
all_non_exited_threads_range all_non_exited_threads (process_stratum_target *proc_target=nullptr, ptid_t filter_ptid=minus_one_ptid)
 
all_threads_safe_range all_threads_safe ()
 
int thread_count (process_stratum_target *proc_target)
 
bool any_thread_p ()
 
void switch_to_thread (struct thread_info *thr)
 
void switch_to_no_thread ()
 
void switch_to_thread_no_regs (struct thread_info *thread)
 
void set_resumed (process_stratum_target *targ, ptid_t ptid, bool resumed)
 
void set_running (process_stratum_target *targ, ptid_t ptid, bool running)
 
void set_stop_requested (process_stratum_target *targ, ptid_t ptid, bool stop)
 
void set_executing (process_stratum_target *targ, ptid_t ptid, bool executing)
 
bool threads_are_executing (process_stratum_target *targ)
 
void finish_thread_state (process_stratum_target *targ, ptid_t ptid)
 
void thread_command (const char *tidstr, int from_tty)
 
void print_thread_info (struct ui_out *uiout, const char *requested_threads, int pid)
 
struct thread_infoinferior_thread (void)
 
void update_thread_list (void)
 
void prune_threads (void)
 
void delete_exited_threads (void)
 
int pc_in_thread_step_range (CORE_ADDR pc, struct thread_info *thread)
 
bool thread_stack_temporaries_enabled_p (struct thread_info *tp)
 
void push_thread_stack_temporary (struct thread_info *tp, struct value *v)
 
valueget_last_thread_stack_temporary (struct thread_info *tp)
 
bool value_in_thread_stack_temporaries (struct value *, struct thread_info *thr)
 
static thread_step_over_list_safe_range make_thread_step_over_list_safe_range (thread_step_over_list &list)
 
void global_thread_step_over_chain_enqueue (thread_info *tp)
 
void global_thread_step_over_chain_enqueue_chain (thread_step_over_list &&list)
 
void global_thread_step_over_chain_remove (thread_info *tp)
 
int thread_is_in_step_over_chain (struct thread_info *tp)
 
int thread_step_over_chain_length (const thread_step_over_list &l)
 
void thread_cancel_execution_command (struct thread_info *thr)
 
void validate_registers_access (void)
 
bool can_access_registers_thread (struct thread_info *thread)
 
int show_thread_that_caused_stop (void)
 
void print_selected_thread_frame (struct ui_out *uiout, user_selected_what selection)
 
void thread_select (const char *tidstr, class thread_info *thr)
 
const char * thread_name (thread_info *thread)
 
bool switch_to_thread_if_alive (thread_info *thr)
 
void thread_try_catch_cmd (thread_info *thr, gdb::optional< int > ada_task, const char *cmd, int from_tty, const qcs_flags &flags)
 
const char * thread_state_string (enum thread_state state)
 

Variables

bool debug_threads
 
struct cmd_list_elementthread_cmd_list
 
bool print_thread_events
 

Macro Definition Documentation

◆ threads_debug_printf

#define threads_debug_printf (   fmt,
  ... 
)     debug_prefixed_printf_cond (debug_threads, "threads", fmt, ##__VA_ARGS__)

Definition at line 49 of file gdbthread.h.

Typedef Documentation

◆ inferior_ref

using inferior_ref = gdb::ref_ptr<struct inferior, refcounted_object_ref_policy>

Definition at line 598 of file gdbthread.h.

◆ scoped_finish_thread_state

using scoped_finish_thread_state = FORWARD_SCOPE_EXIT (finish_thread_state)

Definition at line 826 of file gdbthread.h.

◆ thread_callback_func

typedef int(* thread_callback_func) (struct thread_info *, void *)

Definition at line 702 of file gdbthread.h.

◆ thread_info_ref

using thread_info_ref = gdb::ref_ptr<struct thread_info, refcounted_object_ref_policy>

Definition at line 591 of file gdbthread.h.

◆ thread_info_resumed_with_pending_wait_status_list

Definition at line 585 of file gdbthread.h.

◆ thread_info_resumed_with_pending_wait_status_node

using thread_info_resumed_with_pending_wait_status_node = intrusive_member_node<thread_info, &thread_info::resumed_with_pending_wait_status_node>

Definition at line 582 of file gdbthread.h.

◆ thread_step_over_list

Definition at line 937 of file gdbthread.h.

◆ thread_step_over_list_iterator

using thread_step_over_list_iterator = reference_to_pointer_iterator<thread_step_over_list::iterator>

Definition at line 939 of file gdbthread.h.

◆ thread_step_over_list_node

using thread_step_over_list_node = intrusive_member_node<thread_info, &thread_info::step_over_list_node>

Definition at line 935 of file gdbthread.h.

◆ thread_step_over_list_safe_iterator

Definition at line 941 of file gdbthread.h.

◆ thread_step_over_list_safe_range

Definition at line 943 of file gdbthread.h.

Enumeration Type Documentation

◆ step_over_calls_kind

Enumerator
STEP_OVER_NONE 
STEP_OVER_ALL 
STEP_OVER_UNDEBUGGABLE 

Definition at line 86 of file gdbthread.h.

◆ thread_state

Enumerator
THREAD_STOPPED 
THREAD_RUNNING 
THREAD_EXITED 

Definition at line 69 of file gdbthread.h.

Function Documentation

◆ add_thread()

struct thread_info * add_thread ( process_stratum_target targ,
ptid_t  ptid 
)

◆ add_thread_silent()

struct thread_info * add_thread_silent ( process_stratum_target targ,
ptid_t  ptid 
)

◆ add_thread_with_info()

struct thread_info * add_thread_with_info ( process_stratum_target targ,
ptid_t  ptid,
private_thread_info priv 
)

◆ all_non_exited_threads()

all_non_exited_threads_range all_non_exited_threads ( process_stratum_target proc_target = nullptr,
ptid_t  filter_ptid = minus_one_ptid 
)
inline

◆ all_threads()

all_matching_threads_range all_threads ( process_stratum_target proc_target = nullptr,
ptid_t  filter_ptid = minus_one_ptid 
)
inline

◆ all_threads_safe()

all_threads_safe_range all_threads_safe ( )
inline

◆ any_live_thread_of_inferior()

struct thread_info * any_live_thread_of_inferior ( inferior inf)

◆ any_thread_of_inferior()

struct thread_info * any_thread_of_inferior ( inferior inf)

◆ any_thread_p()

bool any_thread_p ( )

Definition at line 578 of file thread.c.

References all_threads().

Referenced by inferior_appeared().

◆ can_access_registers_thread()

bool can_access_registers_thread ( struct thread_info thread)

Definition at line 954 of file thread.c.

References thread_info::executing(), thread_info::state, and THREAD_EXITED.

Referenced by btrace_enable(), and btrace_fetch().

◆ delete_exception_resume_breakpoint()

void delete_exception_resume_breakpoint ( struct thread_info tp)

◆ delete_exited_threads()

void delete_exited_threads ( void  )

◆ delete_single_step_breakpoints()

void delete_single_step_breakpoints ( struct thread_info tp)

◆ delete_step_resume_breakpoint()

void delete_step_resume_breakpoint ( struct thread_info tp)

◆ delete_thread()

void delete_thread ( struct thread_info thread)

◆ delete_thread_silent()

void delete_thread_silent ( struct thread_info thread)

Definition at line 489 of file thread.c.

References delete_thread_1().

◆ find_thread_by_handle()

struct thread_info * find_thread_by_handle ( gdb::array_view< const gdb_byte >  handle,
struct inferior inf 
)

Definition at line 542 of file thread.c.

References target_thread_handle_to_thread_info().

Referenced by infpy_thread_from_thread_handle().

◆ find_thread_global_id()

struct thread_info * find_thread_global_id ( int  global_id)

◆ find_thread_ptid() [1/2]

thread_info * find_thread_ptid ( inferior inf,
ptid_t  ptid 
)

Definition at line 528 of file thread.c.

Referenced by ravenscar_thread_target::add_active_thread(), ravenscar_thread_target::add_thread(), all_matching_threads_iterator::all_matching_threads_iterator(), remote_target::append_resumption(), gnu_nat_target::attach(), nto_procfs_target::attach(), darwin_nat_target::check_new_threads(), check_thread_db_callback(), continue_command(), remote_target::core_of_thread(), nto_procfs_target::create_inferior(), delete_checkpoint_command(), windows_nat_target::delete_thread(), detach_one_lwp(), windows_nat_target::do_initial_windows_stuff(), do_target_wait_1(), ravenscar_thread_target::enable_btrace(), exit_lwp(), aix_thread_target::fetch_registers(), record_btrace_target::fetch_registers(), find_new_threads_callback(), follow_fork(), follow_fork_inferior(), get_detach_signal(), get_remote_thread_info(), thread_db_target::get_thread_local_address(), handle_inferior_event(), handle_one(), info_program_command(), linux_handle_syscall_trap(), linux_nat_filter_event(), linux_nat_resume_callback(), linux_nat_stop_lwp(), maint_btrace_packet_history_cmd(), mi_on_resume(), thread_db_target::pid_to_str(), print_ada_task_info(), remote_target::process_initial_stop_replies(), procfs_notice_thread(), py_get_event_thread(), record_btrace_target::record_method(), remote_target::remote_detach_1(), remote_target::remote_notice_new_inferior(), aix_thread_target::resume(), ravenscar_thread_target::set_base_thread_from_ravenscar_task(), sol_update_thread_list_callback(), remote_target::start_remote_1(), aix_thread_target::store_registers(), task_apply_all_command(), task_apply_command(), task_command_1(), thread_db_notice_clone(), thread_from_lwp(), bsd_uthread_target::update_thread_list(), nto_procfs_target::update_thread_list(), remote_target::update_thread_list(), bsd_uthread_target::wait(), thread_db_target::wait(), nbsd_nat_target::wait(), procfs_target::wait(), sol_thread_target::wait(), and fbsd_nat_target::wait_1().

◆ find_thread_ptid() [2/2]

struct thread_info * find_thread_ptid ( process_stratum_target targ,
ptid_t  ptid 
)

◆ finish_thread_state()

void finish_thread_state ( process_stratum_target targ,
ptid_t  ptid 
)

◆ first_thread_of_inferior()

struct thread_info * first_thread_of_inferior ( inferior inf)

Definition at line 620 of file thread.c.

Referenced by extended_remote_target::attach(), and core_target_open().

◆ get_last_thread_stack_temporary()

value * get_last_thread_stack_temporary ( struct thread_info tp)

Definition at line 780 of file thread.c.

References thread_info::stack_temporaries.

Referenced by call_function_by_hand_dummy().

◆ global_thread_step_over_chain_enqueue()

void global_thread_step_over_chain_enqueue ( thread_info tp)

◆ global_thread_step_over_chain_enqueue_chain()

void global_thread_step_over_chain_enqueue_chain ( thread_step_over_list &&  list)

Definition at line 435 of file thread.c.

References global_thread_step_over_list.

Referenced by start_step_over().

◆ global_thread_step_over_chain_remove()

void global_thread_step_over_chain_remove ( thread_info tp)

◆ in_thread_list()

bool in_thread_list ( process_stratum_target targ,
ptid_t  ptid 
)

◆ inferior_thread()

struct thread_info * inferior_thread ( void  )

Definition at line 83 of file thread.c.

References current_thread_.

Referenced by any_live_thread_of_inferior(), any_thread_of_inferior(), arm_linux_copy_svc(), attach_post_wait(), bpfinishpy_init(), bpstat_clear_actions(), breakpoint_about_to_proceed(), breakpoint_re_set_thread(), call_function_by_hand_dummy(), clean_up_just_stopped_threads_fsms(), clear_proceed_status(), cli_base_on_normal_stop(), cli_base_on_user_selected_context_changed(), context_switch(), continue_command(), display_current_task_id(), do_target_resume(), dummy_frame_sniffer(), elf_gnu_ifunc_resolver_return_stop(), elf_gnu_ifunc_resolver_stop(), ensure_not_running(), ensure_valid_thread(), expression::evaluate(), execute_command(), fbsd_make_corefile_notes(), fetch_inferior_event(), find_frame_sal(), finish_backward(), finish_command(), finish_forward(), follow_exec(), follow_fork(), follow_fork_inferior(), follow_inferior_reset_breakpoints(), for_each_just_stopped_thread(), fork_load_infrun_state(), frame_inlined_callees(), frame_pop(), frame_show_address(), gcore_find_signalled_thread(), gdbpy_current_recording(), gdbpy_selected_thread(), get_bpstat_thread(), get_call_return_value(), get_current_regcache(), handle_inferior_event(), has_stack_frames(), record_btrace_target::info_record(), inline_frame_sniffer(), insert_exception_resume_breakpoint(), insert_exception_resume_from_probe(), insert_longjmp_resume_breakpoint(), insert_single_step_breakpoint(), insert_step_resume_breakpoint_at_sal_1(), maint_btrace_clear_cmd(), maint_btrace_clear_packet_history_cmd(), maint_info_btrace_cmd(), maybe_print_thread_hit_breakpoint(), mi_about_to_proceed(), mi_cmd_var_update_iter(), mi_on_normal_stop_1(), mi_on_resume(), mi_user_selected_context_changed(), normal_stop(), pop_dummy_frame(), post_create_inferior(), print_selected_thread_frame(), print_signal_received_reason(), print_stop_event(), print_stop_location(), print_thread_info_1(), proceed(), python_on_normal_stop(), queue_signal_command(), record_btrace_frame_sniffer(), record_btrace_set_replay(), record_btrace_tailcall_frame_sniffer(), record_full_goto_entry(), require_btrace_thread(), restore_infcall_control_state(), restore_infcall_suspend_state(), resume(), record_full_target::resume(), remote_target::resume(), resume_1(), run_command_1(), save_infcall_control_state(), save_infcall_suspend_state(), scoped_restore_current_thread::scoped_restore_current_thread(), set_longjmp_breakpoint_for_call_dummy(), set_momentary_breakpoint(), set_std_terminate_breakpoint(), signal_command(), step_1(), stop_context::stop_context(), record_btrace_target::stopped_by_hw_breakpoint(), remote_target::stopped_by_hw_breakpoint(), record_btrace_target::stopped_by_sw_breakpoint(), remote_target::stopped_by_sw_breakpoint(), remote_target::stopped_by_watchpoint(), remote_target::stopped_data_address(), thread_command(), thread_name_command(), thread_num_make_value_helper(), try_thread_db_load_1(), until_break_command(), until_next_command(), validate_registers_access(), varobj_create(), and watchpoint_in_thread_scope().

◆ init_thread_list()

void init_thread_list ( void  )

◆ iterate_over_threads()

struct thread_info * iterate_over_threads ( thread_callback_func  callback,
void *  data 
)

◆ make_thread_step_over_list_safe_range()

static thread_step_over_list_safe_range make_thread_step_over_list_safe_range ( thread_step_over_list list)
inlinestatic

Definition at line 947 of file gdbthread.h.

Referenced by prepare_for_detach(), and start_step_over().

◆ pc_in_thread_step_range()

int pc_in_thread_step_range ( CORE_ADDR  pc,
struct thread_info thread 
)

◆ print_selected_thread_frame()

void print_selected_thread_frame ( struct ui_out uiout,
user_selected_what  selection 
)

◆ print_thread_id()

const char * print_thread_id ( struct thread_info thr)

◆ print_thread_info()

void print_thread_info ( struct ui_out uiout,
const char *  requested_threads,
int  pid 
)

Definition at line 1226 of file thread.c.

References pid, and print_thread_info_1().

Referenced by mi_cmd_list_thread_groups(), mi_cmd_thread_info(), and print_one_inferior().

◆ prune_threads()

void prune_threads ( void  )

◆ push_thread_stack_temporary()

void push_thread_stack_temporary ( struct thread_info tp,
struct value v 
)

◆ set_executing()

void set_executing ( process_stratum_target targ,
ptid_t  ptid,
bool  executing 
)

◆ set_resumed()

void set_resumed ( process_stratum_target targ,
ptid_t  ptid,
bool  resumed 
)

Definition at line 819 of file thread.c.

References all_non_exited_threads().

Referenced by mark_non_executing_threads().

◆ set_running()

void set_running ( process_stratum_target targ,
ptid_t  ptid,
bool  running 
)

◆ set_stop_requested()

void set_stop_requested ( process_stratum_target targ,
ptid_t  ptid,
bool  stop 
)

◆ set_thread_exited()

void set_thread_exited ( thread_info tp,
bool  silent 
)

◆ show_inferior_qualified_tids()

int show_inferior_qualified_tids ( void  )

Definition at line 1419 of file thread.c.

References inferior_list.

Referenced by parse_thread_id(), print_thread_id(), and thread_apply_command().

◆ show_thread_that_caused_stop()

int show_thread_that_caused_stop ( void  )

Definition at line 1411 of file thread.c.

References highest_thread_num.

Referenced by maybe_print_thread_hit_breakpoint(), and print_signal_received_reason().

◆ switch_to_no_thread()

void switch_to_no_thread ( )

◆ switch_to_thread()

void switch_to_thread ( struct thread_info thr)

Definition at line 1335 of file thread.c.

References is_current_thread(), reinit_frame_cache(), and switch_to_thread_no_regs().

Referenced by add_to_thread_list(), gnu_nat_target::attach(), inf_ptrace_target::attach(), extended_remote_target::attach(), nto_procfs_target::attach(), attach_post_wait(), bsd_kvm_target_open(), btrace_compute_ftrace_bts(), btrace_fetch(), btrace_read_config(), check_thread_db_callback(), clean_up_just_stopped_threads_fsms(), gdbsim_target::close_one_inferior(), context_switch(), core_target_open(), gnu_nat_target::create_inferior(), go32_nat_target::create_inferior(), inf_ptrace_target::create_inferior(), nto_procfs_target::create_inferior(), procfs_target::create_inferior(), gdbsim_target::create_inferior(), detach_inferior_command(), displaced_step_finish(), displaced_step_prepare_throw(), do_attach(), windows_nat_target::do_initial_windows_stuff(), process_stratum_target::follow_exec(), follow_fork(), follow_fork_inferior(), get_thread_current_frame_id(), handle_inferior_event(), handle_no_resumed(), handle_vfork_child_exec_or_exit(), inferior_command(), darwin_nat_target::init_thread_list(), keep_going_stepped_thread(), kill_inferior_command(), kill_or_detach(), linux_get_siginfo_data(), mi_cmd_execute(), mi_cmd_remove_inferior(), mi_cmd_target_detach(), pdc_read_data(), remote_target::print_one_stopped_thread(), print_thread_info_1(), proceed(), proceed_after_attach(), proceed_after_vfork_done(), proceed_thread(), proceed_thread_callback(), ravenscar_inferior_created(), record_full_wait_1(), remote_new_objfile(), remote_target::remote_notice_new_inferior(), restart_after_all_stop_detach(), restart_threads(), scoped_restore_current_thread::restore(), run_one_inferior(), save_waitstatus(), ravenscar_thread_target::set_base_thread_from_ravenscar_task(), remote_target::start_remote_1(), start_step_over(), startup_inferior(), switch_back_to_stepped_thread(), switch_to_program_space_and_thread(), switch_to_thread(), switch_to_thread_if_alive(), task_command_1(), tfile_target_open(), thpy_switch(), and value_of_root_1().

◆ switch_to_thread_if_alive()

bool switch_to_thread_if_alive ( thread_info thr)

◆ switch_to_thread_no_regs()

void switch_to_thread_no_regs ( struct thread_info thread)

◆ thread_cancel_execution_command()

void thread_cancel_execution_command ( struct thread_info thr)

◆ thread_change_ptid()

void thread_change_ptid ( process_stratum_target targ,
ptid_t  old_ptid,
ptid_t  new_ptid 
)

◆ thread_command()

void thread_command ( const char *  tidstr,
int  from_tty 
)

◆ thread_count()

int thread_count ( process_stratum_target proc_target)

◆ thread_has_single_step_breakpoint_here()

int thread_has_single_step_breakpoint_here ( struct thread_info tp,
const address_space aspace,
CORE_ADDR  addr 
)

◆ thread_has_single_step_breakpoints_set()

int thread_has_single_step_breakpoints_set ( struct thread_info tp)

◆ thread_is_in_step_over_chain()

int thread_is_in_step_over_chain ( struct thread_info tp)

◆ thread_name()

const char * thread_name ( thread_info thread)

◆ thread_select()

void thread_select ( const char *  tidstr,
class thread_info thr 
)

◆ thread_stack_temporaries_enabled_p()

bool thread_stack_temporaries_enabled_p ( struct thread_info tp)

◆ thread_state_string()

const char * thread_state_string ( enum thread_state  state)

Definition at line 2064 of file thread.c.

References THREAD_EXITED, THREAD_RUNNING, and THREAD_STOPPED.

Referenced by call_function_by_hand_dummy(), and infrun_debug_show_threads().

◆ thread_step_over_chain_length()

int thread_step_over_chain_length ( const thread_step_over_list l)

Definition at line 410 of file thread.c.

Referenced by start_step_over().

◆ thread_try_catch_cmd()

void thread_try_catch_cmd ( thread_info thr,
gdb::optional< int >  ada_task,
const char *  cmd,
int  from_tty,
const qcs_flags flags 
)

◆ threads_are_executing()

bool threads_are_executing ( process_stratum_target targ)

Definition at line 897 of file thread.c.

References process_stratum_target::threads_executing.

Referenced by breakpoints_should_be_inserted_now().

◆ update_thread_list()

void update_thread_list ( void  )

◆ valid_global_thread_id()

int valid_global_thread_id ( int  global_id)

Definition at line 602 of file thread.c.

References all_threads().

Referenced by bppy_set_thread(), gdbscm_set_breakpoint_thread_x(), and insert_breakpoint_locations().

◆ validate_registers_access()

void validate_registers_access ( void  )

◆ value_in_thread_stack_temporaries()

bool value_in_thread_stack_temporaries ( struct value val,
struct thread_info thr 
)

Variable Documentation

◆ debug_threads

bool debug_threads
extern

Definition at line 54 of file thread.c.

◆ print_thread_events

bool print_thread_events
extern

◆ thread_cmd_list

struct cmd_list_element* thread_cmd_list
extern

Definition at line 2143 of file thread.c.