|
GDB (xrefs)
|
#include "gdbthread.h"
Classes | |
| struct | btrace |
Public Member Functions | |
| thread_info (inferior *inf, ptid_t ptid) | |
| ~thread_info () | |
| bool | deletable () const |
Public Member Functions inherited from refcounted_object | |
| refcounted_object ()=default | |
| void | incref () |
| void | decref () |
| int | refcount () const |
Public Attributes | |
| struct thread_info * | next = NULL |
| ptid_t | ptid |
| int | global_num |
| int | per_inf_num |
| struct inferior * | inf |
| char * | name = NULL |
| int | executing = 0 |
| int | resumed = 0 |
| enum thread_state | state = THREAD_STOPPED |
| thread_control_state | control {} |
| thread_suspend_state | suspend {} |
| int | current_line = 0 |
| struct symtab * | current_symtab = NULL |
| CORE_ADDR | prev_pc = 0 |
| int | stepped_breakpoint = 0 |
| int | stepping_over_breakpoint = 0 |
| int | stepping_over_watchpoint = 0 |
| int | step_after_step_resume_breakpoint = 0 |
| struct thread_fsm * | thread_fsm = NULL |
| struct target_waitstatus | pending_follow |
| int | stop_requested = 0 |
| struct frame_id | initiating_frame = null_frame_id |
| std::unique_ptr< private_thread_info > | priv |
| int | stack_temporaries_enabled = 0 |
| value_vec * | stack_temporaries = NULL |
| struct thread_info * | step_over_prev = NULL |
| struct thread_info * | step_over_next = NULL |
Definition at line 205 of file gdbthread.h.
Definition at line 340 of file thread.c.
References gdb_assert, global_num, highest_thread_num, inferior::highest_thread_num, target_waitstatus::kind, memset(), pending_follow, per_inf_num, suspend, TARGET_WAITKIND_IGNORE, TARGET_WAITKIND_SPURIOUS, and thread_suspend_state::waitstatus.
Referenced by infpy_thread_from_thread_handle(), new_thread(), and thread_db_get_thread_local_address().
| thread_info::~thread_info | ( | ) |
|
inline |
Definition at line 211 of file gdbthread.h.
References inferior_ptid, ptid, ptid_equal(), and refcounted_object::refcount().
Referenced by init_thread_list().
| thread_control_state thread_info::control {} |
Definition at line 291 of file gdbthread.h.
Referenced by append_resumption(), arm_linux_copy_svc(), bpstat_clear_actions(), bpstat_remove_breakpoint_callback(), breakpoint_about_to_proceed(), clear_proceed_status_thread(), clear_thread_inferior_resources(), continue_command(), currently_stepping(), delete_exception_resume_breakpoint(), delete_single_step_breakpoints(), delete_step_resume_breakpoint(), displaced_step_prepare_throw(), end_stepping_range(), finish_backward(), finish_command(), finish_command_fsm_should_stop(), finish_forward(), finish_step_over(), follow_exec(), follow_fork(), follow_inferior_reset_breakpoints(), handle_inferior_event_1(), handle_signal_stop(), handle_step_into_function(), handle_step_into_function_backward(), handle_syscall_event(), info_program_command(), insert_exception_resume_breakpoint(), insert_exception_resume_from_probe(), insert_longjmp_resume_breakpoint(), insert_single_step_breakpoint(), insert_step_resume_breakpoint_at_sal_1(), keep_going(), keep_going_pass_signal(), keep_going_stepped_thread(), mi_about_to_proceed(), mi_on_resume(), pc_in_thread_step_range(), prepare_one_step(), print_stop_location(), proceed(), process_event_stop_test(), record_btrace_start_replaying(), restart_threads(), restore_infcall_control_state(), resume_1(), run_inferior_call(), save_infcall_control_state(), schedlock_applies(), set_step_frame(), set_step_info(), should_print_stop_to_console(), spu_skip_standalone_loader(), start_step_over(), step_command_fsm_prepare(), step_command_fsm_should_stop(), stop_all_threads(), switch_back_to_stepped_thread(), thread_has_single_step_breakpoint_here(), thread_has_single_step_breakpoints_set(), until_break_fsm_should_stop(), until_next_command(), and until_next_fsm_should_stop().
| int thread_info::current_line = 0 |
Definition at line 297 of file gdbthread.h.
Referenced by process_event_stop_test(), and set_step_info().
| struct symtab* thread_info::current_symtab = NULL |
Definition at line 298 of file gdbthread.h.
Referenced by process_event_stop_test(), and set_step_info().
| int thread_info::executing = 0 |
Definition at line 271 of file gdbthread.h.
Referenced by any_live_thread_of_process(), finish_step_over(), finish_thread_state(), handle_no_resumed(), infrun_thread_stop_requested(), is_executing(), proceed(), remote_add_thread(), remote_commit_resume(), remote_notice_new_inferior(), remote_update_thread_list(), restart_threads(), set_executing(), start_step_over(), stop_all_threads(), switch_to_thread(), thread_db_update_thread_list(), and update_threads_executing().
| int thread_info::global_num |
Definition at line 253 of file gdbthread.h.
Referenced by check_longjmp_breakpoint_for_call_dummy(), clear_thread_inferior_resources(), find_condition_and_thread(), find_thread_global_id(), finish_command_fsm_clean_up(), first_thread_of_process(), insert_exception_resume_breakpoint(), insert_exception_resume_from_probe(), insert_single_step_breakpoint(), keep_going_pass_signal(), mi_cmd_thread_list_ids(), mi_execute_command(), mi_new_thread(), mi_on_normal_stop_1(), mi_on_resume_1(), mi_output_running_pid(), mi_thread_exit(), mi_user_selected_context_changed(), print_selected_thread_frame(), print_thread_info_1(), ptid_to_global_thread_id(), record_btrace_open(), remove_threaded_breakpoints(), resume_1(), set_longjmp_breakpoint(), should_print_thread(), step_command_fsm_clean_up(), thpy_get_global_num(), thread_info(), thread_num_make_value_helper(), until_break_command(), until_next_command(), valid_global_thread_id(), and watch_command_1().
| struct inferior* thread_info::inf |
Definition at line 261 of file gdbthread.h.
Referenced by attach_post_wait(), find_thread_id(), kill_unfollowed_fork_children(), mi_thread_exit(), print_thread_id(), process_initial_stop_replies(), remote_commit_resume(), remote_thread_handle_to_thread_info(), should_print_thread(), switch_to_thread_no_regs(), thread_db_thread_handle_to_thread_info(), and tp_array_compar().
| struct frame_id thread_info::initiating_frame = null_frame_id |
Definition at line 351 of file gdbthread.h.
Referenced by process_event_stop_test(), set_longjmp_breakpoint(), and longjmp_breakpoint::~longjmp_breakpoint().
| char* thread_info::name = NULL |
Definition at line 265 of file gdbthread.h.
Referenced by maybe_print_thread_hit_breakpoint(), print_signal_received_reason(), print_thread_info_1(), thpy_get_name(), thpy_set_name(), thread_find_command(), thread_name_command(), and ~thread_info().
| struct thread_info* thread_info::next = NULL |
Definition at line 218 of file gdbthread.h.
Referenced by gdb.FrameIterator.FrameIterator::__next__(), delete_thread_1(), find_thread_global_id(), find_thread_id(), find_thread_ptid(), finish_thread_state(), first_thread_of_process(), in_thread_list(), init_thread_list(), iterate_over_threads(), new_thread(), print_thread_info_1(), ptid_to_global_thread_id(), record_btrace_tailcall_frame_sniffer(), set_executing(), set_resumed(), set_running(), set_stop_requested(), start_step_over(), thread_count(), thread_find_command(), thread_step_over_chain_next(), and valid_global_thread_id().
| struct target_waitstatus thread_info::pending_follow |
Definition at line 342 of file gdbthread.h.
Referenced by follow_fork(), follow_fork_inferior(), handle_inferior_event_1(), kill_new_fork_children(), kill_unfollowed_fork_children(), linux_child_follow_fork(), remote_detach_1(), remote_follow_fork(), thread_info(), and thread_pending_fork_status().
| int thread_info::per_inf_num |
Definition at line 258 of file gdbthread.h.
Referenced by attach_post_wait(), find_thread_id(), parse_thread_id(), print_thread_id(), process_initial_stop_replies(), should_print_thread(), thpy_get_num(), thread_info(), thread_num_make_value_helper(), and tp_array_compar().
| CORE_ADDR thread_info::prev_pc = 0 |
Definition at line 308 of file gdbthread.h.
Referenced by adjust_pc_after_break(), do_target_wait(), handle_signal_stop(), keep_going_pass_signal(), keep_going_stepped_thread(), proceed(), and process_event_stop_test().
| std::unique_ptr<private_thread_info> thread_info::priv |
Definition at line 354 of file gdbthread.h.
Referenced by add_thread_with_info(), darwin_init_thread_list(), find_new_threads_callback(), get_aix_thread_info(), get_darwin_thread_info(), get_nto_thread_info(), get_remote_thread_info(), get_thread_db_thread_info(), nto_extra_thread_info(), record_thread(), remote_core_of_thread(), remote_stopped_by_hw_breakpoint(), remote_stopped_by_sw_breakpoint(), remote_stopped_by_watchpoint(), remote_stopped_data_address(), remote_thread_handle_to_thread_info(), remote_thread_name(), remote_threads_extra_info(), resume_clear_thread_private_info(), sync_threadlists(), thread_db_extra_thread_info(), thread_db_get_thread_local_address(), thread_db_pid_to_str(), thread_db_thread_handle_to_thread_info(), and update_thread_private_data_name().
| ptid_t thread_info::ptid |
Definition at line 219 of file gdbthread.h.
Referenced by add_thread(), add_thread_silent(), add_thread_with_info(), adjust_pc_after_break(), aix_thread_extra_thread_info(), aix_thread_resume(), any_live_thread_of_process(), any_thread_of_process(), append_pending_thread_resumptions(), append_resumption(), attach_post_wait(), breakpoint_kind(), bsd_uthread_extra_thread_info(), btpy_insn_or_gap_new(), btrace_add_pc(), btrace_clear(), btrace_disable(), btrace_enable(), btrace_fetch(), btrace_teardown(), call_function_by_hand_dummy(), can_access_registers_ptid(), check_longjmp_breakpoint_for_call_dummy(), clean_up_just_stopped_threads_fsms(), clear_proceed_status(), clear_proceed_status_thread(), collect_cores(), context_switch(), core_open(), create_thread_object(), darwin_init_thread_list(), deletable(), delete_exited_threads(), delete_thread(), delete_thread_1(), delete_thread_object(), delete_thread_of_inferior(), delete_thread_silent(), detach_inferior_command(), displaced_step_prepare_throw(), dispose_inferior(), do_target_resume(), do_target_wait(), enable_thread_stack_temporaries(), extended_remote_attach(), fbsd_core_thread_name(), fbsd_corefile_thread(), fbsd_make_corefile_notes(), find_signalled_thread(), find_thread_object(), find_thread_of_process(), find_thread_ptid(), finish_step_over(), finish_thread_state(), first_thread_of_process(), follow_exec(), gcmp(), get_last_thread_stack_temporary(), get_remote_thread_info(), get_thread_current_frame(), giter_accum(), giter_count(), global_thread_id_to_ptid(), handle_signal_stop(), handle_vfork_child_exec_or_exit(), in_thread_list(), inf_has_multiple_thread_cb(), inf_ptrace_create_inferior(), inferior_command(), info_program_command(), infpy_thread_from_thread_handle(), infrun_thread_stop_requested(), infrun_thread_thread_exit(), interrupt_thread_callback(), is_executing(), is_exited(), is_pending_fork_parent_thread(), is_running(), is_stopped(), is_thread_state(), keep_going_pass_signal(), keep_going_stepped_thread(), kill_inferior_command(), kill_new_fork_children(), kill_or_detach(), linux_corefile_thread(), linux_get_siginfo_data(), linux_make_corefile_notes(), linux_nat_post_attach_wait(), linux_nat_thread_name(), mi_cmd_execute(), mi_cmd_remove_inferior(), mi_cmd_target_detach(), mi_cmd_thread_list_ids(), mi_cmd_var_update_iter(), mi_new_thread(), mi_on_resume(), mi_on_resume_1(), mi_output_running_pid(), new_thread(), number_of_live_inferiors(), parse_thread_id(), pd_update(), ppc_linux_thread_exit(), print_one_stopped_thread(), print_thread_info_1(), proceed(), proceed_after_attach_callback(), proceed_after_vfork_done(), proceed_thread(), proceed_thread_callback(), process_initial_stop_replies(), procfs_update_thread_list(), prune_threads(), ptid_to_global_thread_id(), push_thread_stack_temporary(), random_pending_event_thread(), record_btrace_cancel_resume(), record_btrace_info(), record_btrace_is_replaying(), record_btrace_record_method(), record_btrace_replay_at_breakpoint(), record_btrace_resume(), record_btrace_resume_thread(), record_btrace_set_replay(), record_btrace_start_replaying(), record_btrace_stop(), record_btrace_stop_replaying(), record_btrace_thread_alive(), record_btrace_wait(), record_btrace_will_replay(), record_full_wait_1(), record_thread(), remote_add_thread(), remote_btrace_maybe_reopen(), remote_commit_resume(), remote_core_of_thread(), remote_resume_with_hc(), remote_start_remote(), remote_threads_extra_info(), remote_update_thread_list(), remove_new_fork_children(), reset_ecs(), restart_threads(), resume_1(), run_inferior_call(), run_one_inferior(), save_waitstatus(), set_executing(), set_last_target_status(), set_resumed(), set_running(), set_sig_thread_cmd(), set_stop_requested(), should_print_thread(), signal_command(), sol_get_ada_task_ptid(), start_step_over(), stop_all_threads(), switch_back_to_stepped_thread(), switch_to_program_space_and_thread(), switch_to_thread(), switch_to_thread_no_regs(), sync_threadlists(), target_mourn_inferior(), target_pid_to_str(), target_resume(), target_wait(), thpy_get_ptid(), thpy_is_exited(), thpy_is_running(), thpy_is_stopped(), thpy_switch(), thread_alive(), thread_apply_command(), thread_change_ptid(), thread_db_find_thread_from_tid(), thread_db_pid_to_str(), thread_db_update_thread_list(), thread_find_command(), thread_from_lwp(), thread_select(), thread_stack_temporaries_enabled_p(), thread_still_needs_step_over_bp(), use_displaced_stepping(), value_in_thread_stack_temporaries(), and windows_thread_name().
| int thread_info::resumed = 0 |
Definition at line 280 of file gdbthread.h.
Referenced by breakpoints_should_be_inserted_now(), finish_step_over(), infrun_thread_stop_requested(), keep_going_pass_signal(), keep_going_stepped_thread(), proceed(), random_pending_event_thread(), restart_threads(), resume_1(), resumed_thread_with_pending_status(), set_resumed(), start_step_over(), and stop_all_threads().
| value_vec* thread_info::stack_temporaries = NULL |
Definition at line 365 of file gdbthread.h.
Referenced by disable_thread_stack_temporaries(), enable_thread_stack_temporaries(), get_last_thread_stack_temporary(), push_thread_stack_temporary(), and value_in_thread_stack_temporaries().
| int thread_info::stack_temporaries_enabled = 0 |
Definition at line 361 of file gdbthread.h.
Referenced by disable_thread_stack_temporaries(), enable_thread_stack_temporaries(), push_thread_stack_temporary(), thread_stack_temporaries_enabled_p(), and value_in_thread_stack_temporaries().
| enum thread_state thread_info::state = THREAD_STOPPED |
Definition at line 287 of file gdbthread.h.
Referenced by add_thread_silent(), any_live_thread_of_process(), delete_exited_threads(), finish_thread_state(), infrun_thread_stop_requested(), is_thread_state(), mi_user_selected_context_changed(), print_selected_thread_frame(), print_thread_info_1(), process_initial_stop_replies(), record_thread(), restart_threads(), run_inferior_call(), scoped_restore_current_thread::scoped_restore_current_thread(), set_running(), set_running_thread(), set_thread_exited(), should_print_thread(), stop_context_changed(), switch_to_thread(), and thread_alive().
| int thread_info::step_after_step_resume_breakpoint = 0 |
Definition at line 332 of file gdbthread.h.
Referenced by handle_signal_stop(), init_thread_stepping_state(), process_event_stop_test(), resume_1(), and start_step_over().
| struct thread_info* thread_info::step_over_next = NULL |
Definition at line 371 of file gdbthread.h.
Referenced by set_running_thread(), set_thread_exited(), step_over_chain_enqueue(), step_over_chain_remove(), thread_is_in_step_over_chain(), and thread_step_over_chain_next().
| struct thread_info* thread_info::step_over_prev = NULL |
Definition at line 370 of file gdbthread.h.
Referenced by step_over_chain_enqueue(), and step_over_chain_remove().
| int thread_info::stepped_breakpoint = 0 |
Definition at line 313 of file gdbthread.h.
Referenced by adjust_pc_after_break(), currently_stepping(), init_thread_stepping_state(), process_event_stop_test(), and resume_1().
| int thread_info::stepping_over_breakpoint = 0 |
Definition at line 316 of file gdbthread.h.
Referenced by finish_step_over(), handle_signal_stop(), init_thread_stepping_state(), proceed(), process_event_stop_test(), and thread_still_needs_step_over_bp().
| int thread_info::stepping_over_watchpoint = 0 |
Definition at line 321 of file gdbthread.h.
Referenced by finish_step_over(), handle_signal_stop(), init_thread_stepping_state(), and thread_still_needs_step_over().
| int thread_info::stop_requested = 0 |
Definition at line 345 of file gdbthread.h.
Referenced by clear_proceed_status_thread(), do_target_resume(), follow_exec(), handle_signal_stop(), handle_stop_requested(), linux_nat_stop_lwp(), proceed_after_attach_callback(), proceed_after_vfork_done(), restart_threads(), resume_1(), set_stop_requested(), start_step_over(), and stop_all_threads().
| thread_suspend_state thread_info::suspend {} |
Definition at line 295 of file gdbthread.h.
Referenced by append_pending_thread_resumptions(), breakpoints_should_be_inserted_now(), clear_proceed_status_thread(), do_target_resume(), do_target_wait(), fbsd_make_corefile_notes(), find_signalled_thread(), find_stop_signal(), finish_step_over(), get_detach_signal(), handle_inferior_event_1(), handle_no_resumed(), handle_signal_stop(), info_program_command(), infrun_thread_stop_requested(), keep_going(), keep_going_pass_signal(), linux_make_corefile_notes(), linux_nat_resume_callback(), print_one_stopped_thread(), proceed(), proceed_after_attach_callback(), proceed_after_vfork_done(), process_initial_stop_replies(), python_on_normal_stop(), queue_signal_command(), random_pending_event_thread(), restart_threads(), restore_infcall_suspend_state(), resume_1(), resumed_thread_with_pending_status(), run_command_1(), save_infcall_suspend_state(), save_waitstatus(), signal_command(), stop_all_threads(), switch_back_to_stepped_thread(), thread_info(), and thread_pending_fork_status().
| struct thread_fsm* thread_info::thread_fsm = NULL |
Definition at line 337 of file gdbthread.h.
Referenced by call_function_by_hand_dummy(), clean_up_just_stopped_threads_fsms(), clear_proceed_status_thread(), fetch_inferior_event(), finish_command(), follow_fork(), mi_on_normal_stop_1(), print_stop_event(), run_inferior_call(), should_print_stop_to_console(), step_1(), thread_cancel_execution_command(), until_break_command(), and until_next_command().
1.8.14