GDB (xrefs)
|
#include "inferior.h"
Public Attributes | |
intrusive_list< thread_info > | thread_list |
std::unordered_map< ptid_t, thread_info * > | ptid_thread_map |
int | num = 0 |
int | pid = 0 |
bool | fake_pid_p = false |
int | highest_thread_num = 0 |
inferior_control_state | control |
bool | removable = false |
struct address_space * | aspace = NULL |
struct program_space * | pspace = NULL |
target_terminal_state | terminal_state = target_terminal_state::is_ours |
gdb_environ | environment |
bool | attach_flag = false |
inferior * | vfork_parent = NULL |
inferior * | vfork_child = NULL |
bool | pending_detach = false |
thread_info * | thread_waiting_for_vfork_done = nullptr |
bool | detaching = false |
bool | needs_setup = false |
bool | starting_up = false |
bool | in_initial_library_scan = false |
std::unique_ptr< private_inferior > | priv |
bool | has_exit_code = false |
LONGEST | exit_code = 0 |
symfile_add_flags | symfile_flags = 0 |
target_desc_info | tdesc_info |
struct gdbarch * | gdbarch = NULL |
displaced_step_inferior_state | displaced_step_state |
registry< inferior > | registry_fields |
Private Member Functions | |
void | unpush_target_and_assert (struct target_ops *target) |
Private Attributes | |
target_stack | m_target_stack |
std::string | m_terminal |
std::list< std::function< void()> > | m_continuations |
std::string | m_args |
std::string | m_cwd |
Definition at line 395 of file inferior.h.
|
explicit |
Definition at line 85 of file inferior.c.
References get_dummy_target(), m_target_stack, and target_stack::push().
Referenced by add_inferior_silent(), attach_post_wait(), clear_proceed_status(), nto_inferior_data(), and setup_inferior().
inferior::~inferior | ( | ) |
Definition at line 71 of file inferior.c.
References dummy_stratum, m_continuations, m_target_stack, target_ops::stratum(), and target_stack::top().
void inferior::add_continuation | ( | std::function< void()> && | cont | ) |
Definition at line 177 of file inferior.c.
References m_continuations.
Referenced by attach_command(), and notice_new_inferior().
|
inline |
Definition at line 533 of file inferior.h.
References m_args.
Referenced by add_inferior_command(), attach_command(), ATTRIBUTE_PRINTF(), clone_inferior_command(), detach_inferior_command(), disconnect_command(), elf_none_make_corefile_notes(), exec_file_command(), fbsd_make_corefile_notes(), get_args_value(), inferior_command(), info_float_command(), info_inferiors_command(), info_mach_exceptions_command(), info_mach_port_command(), info_mach_threads_command(), interrupt_command(), kill_inferior_command(), linux_fill_prpsinfo(), procfs_target::make_corefile_notes(), remove_inferior_command(), set_args(), and set_args().
void inferior::clear_thread_list | ( | ) |
Definition at line 250 of file inferior.c.
References thread_info::deletable(), thread_info::ptid, ptid_thread_map, set_thread_exited(), thread_list, and threads_debug_printf.
|
inline |
Definition at line 550 of file inferior.h.
References m_cwd.
Referenced by clone_inferior_command(), windows_nat_target::create_inferior(), remote_target::extended_remote_set_inferior_cwd(), get_inferior_cwd(), set_cwd(), and show_cwd_command().
|
inline |
Definition at line 403 of file inferior.h.
void inferior::do_all_continuations | ( | ) |
Definition at line 183 of file inferior.c.
References m_continuations.
Referenced by inferior_event_handler().
|
inline |
Definition at line 424 of file inferior.h.
References target_stack::find_beneath(), and m_target_stack.
Referenced by target_ops::beneath().
thread_info * inferior::find_thread | ( | ptid_t | ptid | ) |
Definition at line 238 of file inferior.c.
References ptid_thread_map.
Referenced by aarch64_remove_non_address_bits(), aix_thread_target::fetch_registers(), follow_fork_inferior(), maint_btrace_packet_history_cmd(), thread_db_target::pid_to_str(), py_get_event_thread(), aix_thread_target::resume(), sol_update_thread_list_callback(), aix_thread_target::store_registers(), and sol_thread_target::wait().
|
inline |
Definition at line 456 of file inferior.h.
References target_has_execution().
Referenced by proceed_resume_thread_checked(), proceed_thread_callback(), and thread_db_target::update_thread_list().
|
inline |
Definition at line 481 of file inferior.h.
Referenced by attach_command(), attach_post_wait(), record_btrace_target::close(), elf_none_make_corefile_notes(), fbsd_make_corefile_notes(), gcore_find_signalled_thread(), inferior_thread_count_make_value(), linux_make_corefile_notes(), record_btrace_target_open(), record_btrace_target::record_stop_replaying(), record_btrace_target::stop_recording(), unpush_target(), and record_btrace_target::wait().
|
inline |
Definition at line 434 of file inferior.h.
References dummy_stratum, and pop_all_targets_above().
void inferior::pop_all_targets_above | ( | enum strata | stratum | ) |
Definition at line 129 of file inferior.c.
References switch_to_inferior_no_thread(), top_target(), and unpush_target_and_assert().
Referenced by pop_all_targets(), and target_preopen().
void inferior::pop_all_targets_at_and_above | ( | enum strata | stratum | ) |
Definition at line 144 of file inferior.c.
References switch_to_inferior_no_thread(), top_target(), and unpush_target_and_assert().
|
inline |
Definition at line 449 of file inferior.h.
References target_stack::at(), m_target_stack, and process_stratum.
Referenced by add_thread_db_info(), amd_dbgapi_target::async(), attach_command(), check_multi_target_resumption(), clear_inline_frame_state(), amd_dbgapi_target::commit_resumed(), consume_one_event(), dcache_read_memory_partial(), detach_command(), record_btrace_target::fetch_registers(), process_stratum_target::follow_exec(), follow_fork(), get_current_core_target(), get_current_remote_target(), get_thread_regcache(), get_thread_regcache_for_ptid(), handle_inferior_event(), infrun_thread_stop_requested(), internal_resume_ptid(), all_matching_threads_iterator::m_inf_matches(), mi_interp::on_target_resumed(), prepare_one_step(), process_one_event(), record_full_wait_1(), record_btrace_target::record_is_replaying(), record_btrace_target::record_method(), registers_changed_thread(), amd_dbgapi_target::resume(), record_btrace_target::resume(), record_full_target::resume(), resume_1(), run_command_1(), set_last_target_status_stopped(), set_thread_exited(), sol2_core_pid_to_str(), sol_update_thread_list_callback(), amd_dbgapi_target::stop(), record_btrace_target::stop(), stop_current_target_threads_ns(), switch_to_inferior_and_push_target(), sync_threadlists(), target_resume(), target_stop(), target_wait(), aix_thread_target::thread_alive(), thread_db_find_new_threads_2(), thread_from_lwp(), update_threads_executing(), user_visible_resume_target(), aix_thread_target::wait(), amd_dbgapi_target::wait(), record_btrace_target::wait(), and sol_thread_target::wait().
|
inline |
Definition at line 406 of file inferior.h.
References m_target_stack, and target_stack::push().
Referenced by gnu_nat_target::attach(), bsd_kvm_target_open(), bsd_uthread_activate(), check_for_thread_db(), core_target_open(), gnu_nat_target::create_inferior(), exec_on_vfork(), process_stratum_target::follow_exec(), process_stratum_target::follow_fork(), gdbsim_target_open(), inf_child_open_target(), remote_target::open_1(), pd_enable(), record_btrace_push_target(), record_full_core_open_1(), record_full_open_1(), switch_to_inferior_and_push_target(), tfile_target_open(), and try_thread_db_load_1().
|
inline |
Definition at line 410 of file inferior.h.
References m_target_stack, and target_stack::push().
void inferior::set_args | ( | gdb::array_view< char *const > | args | ) |
Definition at line 171 of file inferior.c.
References args(), and set_args().
|
inline |
Definition at line 522 of file inferior.h.
References args(), and m_args.
Referenced by captured_main_1(), run_command_1(), set_args(), and set_args_value().
|
inline |
Definition at line 541 of file inferior.h.
Referenced by set_cwd_value().
void inferior::set_tty | ( | std::string | terminal_name | ) |
Definition at line 157 of file inferior.c.
References m_terminal.
Referenced by captured_main_1(), mi_cmd_inferior_tty_set(), and set_tty_value().
|
inline |
Definition at line 453 of file inferior.h.
References target_stack::at(), and m_target_stack.
Referenced by find_target_at(), and record_btrace_on_new_thread().
|
inline |
Definition at line 420 of file inferior.h.
References target_stack::is_pushed(), and m_target_stack.
Referenced by gnu_nat_target::create_inferior().
|
inline |
Definition at line 472 of file inferior.h.
Referenced by amd_dbgapi_inferior_forked(), follow_fork_inferior(), handle_vfork_child_exec_or_exit(), inf_has_multiple_threads(), info_mach_threads_command(), and infrun_inferior_execd().
|
inline |
Definition at line 492 of file inferior.h.
|
inline |
Definition at line 428 of file inferior.h.
References m_target_stack, and target_stack::top().
Referenced by target_terminal::inferior(), target_terminal::info(), target_terminal::init(), pop_all_targets_above(), pop_all_targets_at_and_above(), target_terminal::restore_inferior(), section_table_read_available_memory(), sparc_fetch_wcookie(), target_always_non_stop_p(), target_async(), target_attach_no_wait(), target_augmented_libraries_svr4_read(), target_btrace_conf(), target_call_history(), target_call_history_from(), target_call_history_range(), target_can_accel_watchpoint_condition(), target_can_do_single_step(), target_can_download_tracepoint(), target_can_execute_reverse(), target_can_lock_scheduler(), target_can_run_breakpoint_commands(), target_can_use_agent(), target_can_use_hardware_watchpoint(), target_commit_resumed(), target_core_of_thread(), target_delete_record(), target_detach(), target_disable_btrace(), target_disable_tracepoint(), target_disconnect(), target_done_generating_core(), target_download_trace_state_variable(), target_download_tracepoint(), target_dumpcore(), target_enable_btrace(), target_enable_tracepoint(), target_execution_direction(), target_extra_thread_info(), target_fetch_memtags(), target_fetch_registers(), target_fetch_x86_xsave_layout(), target_files_info(), target_filesystem_is_local(), target_find_memory_regions(), target_flash_done(), target_flash_erase(), target_follow_exec(), target_follow_fork(), target_get_ada_task_ptid(), target_get_bookmark(), target_get_min_fast_tracepoint_insn_len(), target_get_raw_trace_data(), target_get_tailcall_unwinder(), target_get_tib_address(), target_get_trace_state_variable_value(), target_get_trace_status(), target_get_tracepoint_status(), target_get_unwinder(), target_goto_bookmark(), target_goto_record(), target_goto_record_begin(), target_goto_record_end(), target_has_pending_events(), target_have_steppable_watchpoint(), target_insert_breakpoint(), target_insert_exec_catchpoint(), target_insert_fork_catchpoint(), target_insert_hw_breakpoint(), target_insert_mask_watchpoint(), target_insert_vfork_catchpoint(), target_insert_watchpoint(), target_insn_history(), target_insn_history_from(), target_insn_history_range(), target_interrupt(), target_is_async_p(), target_kill(), target_load(), target_log_command(), target_make_corefile_notes(), target_masked_watch_num_registers(), target_memory_map(), target_mourn_inferior(), target_pass_ctrlc(), target_pass_signals(), target_pid_to_exec_file(), target_pid_to_str(), target_post_attach(), target_prepare_to_generate_core(), target_prepare_to_store(), target_program_signals(), target_ranged_break_num_registers(), target_rcmd(), target_read_btrace(), target_record_is_replaying(), target_record_method(), target_record_stop_replaying(), target_record_will_replay(), target_region_ok_for_hw_watchpoint(), target_remove_breakpoint(), target_remove_exec_catchpoint(), target_remove_fork_catchpoint(), target_remove_hw_breakpoint(), target_remove_mask_watchpoint(), target_remove_vfork_catchpoint(), target_remove_watchpoint(), target_resume(), target_save_record(), target_save_trace_data(), target_search_memory(), target_set_circular_trace_buffer(), target_set_disconnected_tracing(), target_set_permissions(), target_set_syscall_catchpoint(), target_set_trace_buffer_size(), target_set_trace_notes(), target_shortname(), target_static_tracepoint_marker_at(), target_static_tracepoint_markers_by_strid(), target_stop(), target_stop_recording(), target_stopped_by_hw_breakpoint(), target_stopped_by_sw_breakpoint(), target_stopped_by_watchpoint(), target_store_memtags(), target_store_registers(), target_supports_delete_record(), target_supports_disable_randomization(), target_supports_dumpcore(), target_supports_enable_disable_tracepoint(), target_supports_evaluation_of_breakpoint_conditions(), target_supports_memory_tagging(), target_supports_multi_process(), target_supports_stopped_by_hw_breakpoint(), target_supports_stopped_by_sw_breakpoint(), target_supports_string_tracing(), target_teardown_btrace(), target_terminal_is_ours_kind(), target_thread_address_space(), target_thread_alive(), target_thread_architecture(), target_thread_events(), target_thread_handle_to_thread_info(), target_thread_info_to_thread_handle(), target_thread_name(), target_trace_find(), target_trace_init(), target_trace_set_readonly_regions(), target_trace_start(), target_trace_stop(), target_traceframe_info(), target_translate_tls_address(), target_update_thread_list(), target_upload_trace_state_variables(), target_upload_tracepoints(), target_use_agent(), target_verify_memory(), and target_wait().
const std::string & inferior::tty | ( | ) |
Definition at line 163 of file inferior.c.
References m_terminal.
Referenced by clone_inferior_command(), nto_procfs_target::create_inferior(), windows_nat_target::create_inferior(), get_tty_value(), mi_cmd_inferior_tty_show(), and show_inferior_tty_command().
int inferior::unpush_target | ( | struct target_ops * | t | ) |
Definition at line 96 of file inferior.c.
References as_process_stratum_target(), m_target_stack, process_stratum_target::maybe_remove_resumed_with_pending_wait_status(), non_exited_threads(), process_stratum, target_ops::stratum(), and target_stack::unpush().
Referenced by bsd_kvm_target_open(), bsd_uthread_deactivate(), record_btrace_target::disconnect(), thread_db_target::follow_exec(), gdbsim_target_open(), record_full_core_target::kill(), inf_child_target::maybe_unpush_target(), thread_db_target::mourn_inferior(), ravenscar_thread_target::mourn_inferior(), sol_thread_target::mourn_inferior(), target_unpusher::operator()(), pd_disable(), record_unpush(), tfile_target_open(), and unpush_target_and_assert().
|
private |
Definition at line 117 of file inferior.c.
References current_inferior(), target_ops::shortname(), and unpush_target().
Referenced by pop_all_targets_above(), and pop_all_targets_at_and_above().
struct address_space* inferior::aspace = NULL |
Definition at line 579 of file inferior.h.
Referenced by add_inferior_with_spaces(), clone_inferior_command(), follow_fork_inferior(), handle_inferior_event(), and record_btrace_replay_at_breakpoint().
bool inferior::attach_flag = false |
Definition at line 593 of file inferior.h.
Referenced by gnu_nat_target::attach(), follow_fork_inferior(), and target_pre_inferior().
inferior_control_state inferior::control |
Definition at line 570 of file inferior.h.
Referenced by attach_command(), attach_post_wait(), clear_proceed_status(), and notice_new_inferior().
bool inferior::detaching = false |
Definition at line 615 of file inferior.h.
Referenced by handle_one().
displaced_step_inferior_state inferior::displaced_step_state |
Definition at line 664 of file inferior.h.
Referenced by displaced_step_finish(), displaced_step_prepare(), displaced_step_prepare_throw(), displaced_step_buffers::finish(), infrun_inferior_execd(), displaced_step_buffers::prepare(), and use_displaced_stepping().
gdb_environ inferior::environment |
Definition at line 590 of file inferior.h.
Referenced by clone_inferior_command(), environment_info(), remote_target::extended_remote_environment_support(), infpy_clear_env(), infpy_set_env(), infpy_unset_env(), mi_cmd_env_path(), path_command(), set_environment_command(), and unset_environment_command().
LONGEST inferior::exit_code = 0 |
Definition at line 640 of file inferior.h.
Referenced by handle_inferior_event(), and print_one_inferior().
bool inferior::fake_pid_p = false |
Definition at line 563 of file inferior.h.
Referenced by linux_find_memory_regions_full().
struct gdbarch* inferior::gdbarch = NULL |
Definition at line 661 of file inferior.h.
Referenced by clone_inferior_command(), follow_fork_inferior(), handle_inferior_event(), linux_displaced_step_prepare(), ppc_displaced_step_prepare(), ppc_linux_displaced_step_prepare(), ps_get_thread_area(), set_target_gdbarch(), and target_gdbarch().
bool inferior::has_exit_code = false |
Definition at line 639 of file inferior.h.
Referenced by handle_inferior_event(), and print_one_inferior().
int inferior::highest_thread_num = 0 |
Definition at line 566 of file inferior.h.
Referenced by target_pre_inferior(), and thread_info::thread_info().
bool inferior::in_initial_library_scan = false |
Definition at line 632 of file inferior.h.
|
private |
Definition at line 684 of file inferior.h.
Referenced by args(), and set_args().
|
private |
Definition at line 681 of file inferior.h.
Referenced by add_continuation(), do_all_continuations(), and ~inferior().
|
private |
Definition at line 688 of file inferior.h.
|
private |
Definition at line 675 of file inferior.h.
Referenced by find_target_beneath(), inferior(), process_target(), push_target(), push_target(), target_at(), target_is_pushed(), top_target(), unpush_target(), and ~inferior().
|
private |
Definition at line 678 of file inferior.h.
bool inferior::needs_setup = false |
Definition at line 621 of file inferior.h.
Referenced by attach_command(), attach_post_wait(), handle_one(), and setup_inferior().
int inferior::num = 0 |
Definition at line 557 of file inferior.h.
Referenced by annotate_thread_exited(), attach_post_wait(), bpstat_check_breakpoint_conditions(), clone_inferior_command(), detach_inferior_command(), find_inferior_id(), inferior_command(), kill_command(), kill_inferior_command(), mi_cmd_thread_list_ids(), mi_cmd_thread_select(), mi_interp::on_inferior_added(), mi_interp::on_inferior_appeared(), mi_interp::on_inferior_disappeared(), mi_interp::on_inferior_removed(), mi_interp::on_memory_changed(), mi_interp::on_new_thread(), mi_interp::on_record_changed(), mi_interp::on_thread_exited(), print_full_thread_id(), print_one_inferior(), print_thread_info_1(), remote_target::process_initial_stop_replies(), remove_inferior_command(), should_print_thread(), stop_context::stop_context(), switch_to_inferior_and_push_target(), thread_apply_command(), and thread_apply_command_completer().
bool inferior::pending_detach = false |
Definition at line 607 of file inferior.h.
Referenced by follow_fork_inferior(), and handle_vfork_child_exec_or_exit().
int inferior::pid = 0 |
Definition at line 561 of file inferior.h.
Referenced by attach_post_wait(), child_interrupt(), fetch_altivec_registers_aix(), fetch_vsx_registers_aix(), follow_exec(), handle_vfork_child_exec_or_exit(), kill_command(), linux_find_memory_regions_full(), linux_info_proc(), linux_process_address_in_memtag_page(), linux_vsyscall_range_raw(), mi_cmd_remove_inferior(), print_one_inferior(), proceed_resume_thread_checked(), rocm_bfd_iovec_open(), target_follow_fork(), and nto_procfs_target::update_thread_list().
std::unique_ptr<private_inferior> inferior::priv |
Definition at line 635 of file inferior.h.
Referenced by fbsd_nat_target::attach(), fbsd_nat_target::create_inferior(), darwin_deallocate_threads(), darwin_decode_notify_message(), darwin_find_inferior_by_task(), darwin_find_new_inferior(), darwin_find_thread(), darwin_reply_to_all_pending_messages(), darwin_resume_inferior(), darwin_resume_inferior_threads(), darwin_send_reply(), darwin_suspend_inferior(), darwin_suspend_inferior_threads(), info_mach_exceptions_command(), info_mach_ports_command(), info_mach_region_command(), and set_enable_mach_exceptions().
struct program_space* inferior::pspace = NULL |
Definition at line 582 of file inferior.h.
Referenced by add_inferior_with_spaces(), bpfinishpy_detect_out_scope_cb(), clone_inferior_command(), elf_gnu_ifunc_resolver_stop(), exec_on_vfork(), find_inferior_for_program_space(), remote_target::follow_exec(), follow_exec(), follow_fork_inferior(), handle_solib_event(), handle_vfork_child_exec_or_exit(), handle_vfork_done(), mi_cmd_remove_inferior(), print_one_inferior(), rocm_solib_target_inferior_created(), and watch_command_1().
std::unordered_map<ptid_t, thread_info *> inferior::ptid_thread_map |
Definition at line 464 of file inferior.h.
Referenced by clear_thread_list(), find_thread(), and set_thread_exited().
Definition at line 667 of file inferior.h.
bool inferior::removable = false |
Definition at line 576 of file inferior.h.
Referenced by follow_fork_inferior().
bool inferior::starting_up = false |
Definition at line 628 of file inferior.h.
symfile_add_flags inferior::symfile_flags = 0 |
Definition at line 644 of file inferior.h.
Referenced by follow_fork_inferior(), solib_read_symbols(), and symbol_file_add_main_1().
target_desc_info inferior::tdesc_info |
Definition at line 648 of file inferior.h.
Referenced by clone_inferior_command(), follow_fork_inferior(), maint_print_c_tdesc_cmd(), maint_print_xml_tdesc_cmd(), set_tdesc_filename_cmd(), show_tdesc_filename_cmd(), target_clear_description(), target_current_description(), target_find_description(), and unset_tdesc_filename_cmd().
target_terminal_state inferior::terminal_state = target_terminal_state::is_ours |
Definition at line 586 of file inferior.h.
Referenced by copy_terminal_info(), and swap_terminal_info().
intrusive_list<thread_info> inferior::thread_list |
Definition at line 460 of file inferior.h.
Referenced by all_threads_iterator::advance(), all_matching_threads_iterator::advance(), all_matching_threads_iterator::all_matching_threads_iterator(), clear_thread_list(), delete_thread_1(), and follow_fork_inferior().
thread_info* inferior::thread_waiting_for_vfork_done = nullptr |
Definition at line 612 of file inferior.h.
Referenced by follow_fork_inferior(), handle_inferior_event(), handle_vfork_done(), infrun_inferior_execd(), and proceed_resume_thread_checked().
inferior* inferior::vfork_child = NULL |
Definition at line 603 of file inferior.h.
Referenced by exec_on_vfork(), follow_fork_inferior(), and proceed_resume_thread_checked().
inferior* inferior::vfork_parent = NULL |
Definition at line 597 of file inferior.h.
Referenced by follow_fork_inferior(), and handle_vfork_child_exec_or_exit().