GDB (xrefs)
|
#include "defs.h"
#include "observable.h"
#include "gdbcmd.h"
#include "target.h"
#include "ada-lang.h"
#include "gdbcore.h"
#include "inferior.h"
#include "gdbthread.h"
#include "progspace.h"
#include "objfiles.h"
#include "cli/cli-style.h"
Go to the source code of this file.
Classes | |
struct | atcb_fieldnos |
struct | ada_tasks_pspace_data |
struct | ada_tasks_pspace_data::atcb_fieldno |
struct | ada_tasks_inferior_data |
Macros | |
#define | KNOWN_TASKS_NAME "system__tasking__debug__known_tasks" |
#define | KNOWN_TASKS_LIST "system__tasking__debug__first_task" |
#define | TASK_APPLY_OPTION_HELP "\Prints per-inferior task number followed by COMMAND output.\n\\n\By default, an error raised during the execution of COMMAND\n\aborts \"task apply\".\n\\n\Options:\n\%OPTIONS%" |
Typedefs | |
using | qcs_flag_option_def = gdb::option::flag_option_def<qcs_flags> |
Functions | |
static int | ada_build_task_list () |
static const char * | get_state (unsigned value) |
static const char * | get_long_state (unsigned value) |
static std::string | task_to_str (int taskno, const ada_task_info *task_info) |
static struct ada_tasks_pspace_data * | get_ada_tasks_pspace_data (struct program_space *pspace) |
static struct ada_tasks_inferior_data * | get_ada_tasks_inferior_data (struct inferior *inf) |
int | ada_get_task_number (thread_info *thread) |
static int | get_task_number_from_id (CORE_ADDR task_id, struct inferior *inf) |
int | valid_task_id (int task_num) |
static int | ada_task_is_alive (const struct ada_task_info *task_info) |
struct ada_task_info * | ada_get_task_info_from_ptid (ptid_t ptid) |
void | iterate_over_live_ada_tasks (ada_task_list_iterator_ftype iterator) |
static void | value_as_string (char *dest, struct value *val, int length) |
static void | read_fat_string_value (char *dest, struct value *val, int max_len) |
const char * | ada_get_tcb_types_info (void) |
static ptid_t | ptid_from_atcb_common (struct value *common_value) |
static void | read_atcb (CORE_ADDR task_id, struct ada_task_info *task_info) |
static void | add_ada_task (CORE_ADDR task_id, struct inferior *inf) |
static bool | read_known_tasks_array (struct ada_tasks_inferior_data *data) |
static bool | read_known_tasks_list (struct ada_tasks_inferior_data *data) |
static void | ada_tasks_inferior_data_sniffer (struct ada_tasks_inferior_data *data) |
static void | read_known_tasks () |
void | print_ada_task_info (struct ui_out *uiout, const char *arg_str, struct inferior *inf) |
static void | info_task (struct ui_out *uiout, const char *taskno_str, struct inferior *inf) |
static void | info_tasks_command (const char *arg, int from_tty) |
static void | display_current_task_id (void) |
static void | task_command_1 (const char *taskno_str, int from_tty, struct inferior *inf) |
static void | task_command (const char *taskno_str, int from_tty) |
static void | ada_task_list_changed (struct inferior *inf) |
static void | ada_tasks_invalidate_pspace_data (struct program_space *pspace) |
static void | ada_tasks_invalidate_inferior_data (struct inferior *inf) |
static void | ada_tasks_normal_stop_observer (struct bpstat *unused_args, int unused_args2) |
static void | ada_tasks_clear_pspace_data (program_space *pspace) |
static void | ada_tasks_new_objfile_observer (objfile *objfile) |
static std::array< gdb::option::option_def_group, 1 > | make_task_apply_all_options_def_group (qcs_flags *flags) |
static gdb::option::option_def_group | make_task_apply_options_def_group (qcs_flags *flags) |
static void | task_apply_all_command (const char *cmd, int from_tty) |
static void | task_apply_command (const char *tidlist, int from_tty) |
void | _initialize_tasks () |
Variables | |
static const int | MAX_NUMBER_OF_KNOWN_TASKS = 1000 |
static const char *const | task_states [] |
static const char *const | long_task_states [] |
static const registry< program_space >::key< ada_tasks_pspace_data > | ada_tasks_pspace_data_handle |
static const registry< inferior >::key< ada_tasks_inferior_data > | ada_tasks_inferior_data_handle |
static const gdb::option::option_def | task_qcs_flags_option_defs [] |
#define KNOWN_TASKS_LIST "system__tasking__debug__first_task" |
Definition at line 42 of file ada-tasks.c.
Referenced by ada_tasks_inferior_data_sniffer().
#define KNOWN_TASKS_NAME "system__tasking__debug__known_tasks" |
Definition at line 34 of file ada-tasks.c.
Referenced by ada_tasks_inferior_data_sniffer().
#define TASK_APPLY_OPTION_HELP "\Prints per-inferior task number followed by COMMAND output.\n\\n\By default, an error raised during the execution of COMMAND\n\aborts \"task apply\".\n\\n\Options:\n\%OPTIONS%" |
Definition at line 1500 of file ada-tasks.c.
enum ada_known_tasks_kind |
Enumerator | |
---|---|
ADA_TASKS_UNKNOWN | |
ADA_TASKS_NOT_FOUND | |
ADA_TASKS_ARRAY | |
ADA_TASKS_LIST |
Definition at line 204 of file ada-tasks.c.
enum task_states |
Definition at line 44 of file ada-tasks.c.
void _initialize_tasks | ( | ) |
Definition at line 1655 of file ada-tasks.c.
Referenced by initialize_all_files().
|
static |
Definition at line 1045 of file ada-tasks.c.
References current_inferior(), get_ada_tasks_inferior_data(), read_known_tasks(), and target_has_stack().
Referenced by ada_get_task_info_from_ptid(), info_task(), iterate_over_live_ada_tasks(), print_ada_task_info(), task_apply_all_command(), task_apply_command(), task_command(), and valid_task_id().
struct ada_task_info * ada_get_task_info_from_ptid | ( | ptid_t | ptid | ) |
Definition at line 392 of file ada-tasks.c.
References ada_build_task_list(), current_inferior(), and get_ada_tasks_inferior_data().
Referenced by ravenscar_thread_target::get_thread_base_cpu().
int ada_get_task_number | ( | thread_info * | thread | ) |
Definition at line 334 of file ada-tasks.c.
References get_ada_tasks_inferior_data(), thread_info::inf, and thread_info::ptid.
Referenced by bpstat_check_breakpoint_conditions(), and display_current_task_id().
const char * ada_get_tcb_types_info | ( | void | ) |
Definition at line 503 of file ada-tasks.c.
References atcb_fieldnos::activation_link, ada_get_field_index(), ada_template_to_fixed_record_type_1(), atcb_fieldnos::atc_nesting_level, ada_tasks_pspace_data::atcb_call_type, ada_tasks_pspace_data::atcb_common_type, ada_tasks_pspace_data::atcb_ll_type, ada_tasks_pspace_data::atcb_type, atcb_fieldnos::base_cpu, builtin_type(), builtin_type::builtin_uint32, atcb_fieldnos::call, atcb_fieldnos::call_self, atcb_fieldnos::common, ada_tasks_pspace_data::cpu_id_offset, current_program_space, atcb_fieldnos::entry_calls, get_ada_tasks_pspace_data(), atcb_fieldnos::image, atcb_fieldnos::image_len, ada_tasks_pspace_data::initialized_p, language_c, atcb_fieldnos::ll, atcb_fieldnos::ll_lwp, atcb_fieldnos::ll_thread, lookup_bound_minimal_symbol(), lookup_symbol_in_language(), bound_minimal_symbol::minsym, atcb_fieldnos::parent, atcb_fieldnos::priority, atcb_fieldnos::state, STRUCT_DOMAIN, block_symbol::symbol, target_gdbarch(), type, symbol::type(), bound_minimal_symbol::value_address(), value_as_long(), and value_at().
Referenced by ravenscar_inferior_created(), and read_atcb().
|
static |
Definition at line 383 of file ada-tasks.c.
References ada_task_info::state, and Terminated.
Referenced by iterate_over_live_ada_tasks(), print_ada_task_info(), read_atcb(), task_apply_all_command(), task_apply_command(), and task_command_1().
|
static |
Definition at line 1436 of file ada-tasks.c.
References get_ada_tasks_inferior_data().
Referenced by ada_tasks_normal_stop_observer().
|
static |
Definition at line 1476 of file ada-tasks.c.
References ada_tasks_invalidate_inferior_data(), ada_tasks_invalidate_pspace_data(), and all_inferiors().
Referenced by ada_tasks_new_objfile_observer().
|
static |
Definition at line 913 of file ada-tasks.c.
References ADA_TASKS_ARRAY, ADA_TASKS_LIST, ADA_TASKS_NOT_FOUND, ADA_TASKS_UNKNOWN, type::bounds(), builtin_type::builtin_data_ptr, builtin_type(), check_typedef(), type::code(), dynamic_prop::const_val(), range_bounds::high, type::index_type(), dynamic_prop::is_constant(), KNOWN_TASKS_LIST, KNOWN_TASKS_NAME, language_c, lookup_minimal_symbol(), lookup_symbol_in_language(), range_bounds::low, MAX_NUMBER_OF_KNOWN_TASKS, bound_minimal_symbol::minsym, block_symbol::symbol, target_gdbarch(), type::target_type(), type, symbol::type(), bound_minimal_symbol::value_address(), symbol::value_address(), and VAR_DOMAIN.
Referenced by read_known_tasks().
|
static |
Definition at line 1454 of file ada-tasks.c.
References ADA_TASKS_UNKNOWN, and get_ada_tasks_inferior_data().
Referenced by ada_tasks_clear_pspace_data().
|
static |
Definition at line 1446 of file ada-tasks.c.
References get_ada_tasks_pspace_data(), and ada_tasks_pspace_data::initialized_p.
Referenced by ada_tasks_clear_pspace_data().
|
static |
Definition at line 1492 of file ada-tasks.c.
References ada_tasks_clear_pspace_data(), and objfile::pspace.
|
static |
Definition at line 1465 of file ada-tasks.c.
References ada_task_list_changed(), and current_inferior().
|
static |
Definition at line 835 of file ada-tasks.c.
References get_ada_tasks_inferior_data(), and read_atcb().
Referenced by read_known_tasks_array(), and read_known_tasks_list().
|
static |
Definition at line 1343 of file ada-tasks.c.
References ada_get_task_number(), current_inferior(), gdb_printf(), get_ada_tasks_inferior_data(), inferior_thread(), and task_to_str().
Referenced by task_command().
|
static |
Definition at line 319 of file ada-tasks.c.
References ada_tasks_inferior_data_handle, and registry< T >::get().
Referenced by ada_build_task_list(), ada_get_task_info_from_ptid(), ada_get_task_number(), ada_task_list_changed(), ada_tasks_invalidate_inferior_data(), add_ada_task(), display_current_task_id(), get_task_number_from_id(), info_task(), iterate_over_live_ada_tasks(), print_ada_task_info(), read_known_tasks(), task_apply_all_command(), task_apply_command(), task_command_1(), and valid_task_id().
|
static |
Definition at line 295 of file ada-tasks.c.
References ada_tasks_pspace_data_handle, and registry< T >::get().
Referenced by ada_get_tcb_types_info(), ada_tasks_invalidate_pspace_data(), ptid_from_atcb_common(), read_atcb(), and read_known_tasks_list().
|
static |
|
static |
Definition at line 90 of file ada-tasks.c.
Referenced by print_ada_task_info().
|
static |
Definition at line 353 of file ada-tasks.c.
References get_ada_tasks_inferior_data().
Referenced by info_task(), and print_ada_task_info().
|
static |
Definition at line 1236 of file ada-tasks.c.
References ada_build_task_list(), ada_task_info::base_cpu, ada_task_info::called_task, ada_task_info::caller_task, fprintf_styled(), gdb_printf(), gdb_stdout, get_ada_tasks_inferior_data(), get_long_state(), get_task_number_from_id(), ui_out::message(), metadata_style, ada_task_info::name, paddress(), ada_task_info::parent, parse_and_eval(), ada_task_info::priority, ada_task_info::ptid, ada_task_info::state, cli_style_option::style(), target_gdbarch(), ada_task_info::task_id, and value_as_long().
Referenced by info_tasks_command().
|
static |
Definition at line 1329 of file ada-tasks.c.
References current_inferior(), current_uiout, info_task(), and print_ada_task_info().
void iterate_over_live_ada_tasks | ( | ada_task_list_iterator_ftype | iterator | ) |
Definition at line 412 of file ada-tasks.c.
References ada_build_task_list(), ada_task_is_alive(), current_inferior(), and get_ada_tasks_inferior_data().
Referenced by ravenscar_thread_target::update_thread_list().
|
inlinestatic |
Definition at line 1523 of file ada-tasks.c.
References flags, and task_qcs_flags_option_defs.
Referenced by task_apply_all_command().
|
inlinestatic |
Definition at line 1534 of file ada-tasks.c.
References flags, and task_qcs_flags_option_defs.
Referenced by task_apply_command().
Definition at line 1065 of file ada-tasks.c.
References ada_build_task_list(), ada_task_is_alive(), ada_task_info::called_task, ada_task_info::caller_task, ui_out::field_fmt(), ui_out::field_signed(), ui_out::field_skip(), ui_out::field_string(), get_ada_tasks_inferior_data(), get_state(), get_task_number_from_id(), thread_info::global_num, inferior_ptid, ui_out::is_mi_like_p(), ui_out::message(), metadata_style, ada_task_info::name, ada_task_info::parent, parse_and_eval(), ada_task_info::priority, ada_task_info::ptid, ada_task_info::state, cli_style_option::style(), ui_out::table_body(), ui_out::table_header(), target_update_thread_list(), ada_task_info::task_id, ada_tasks_inferior_data::task_list, ui_out::text(), ui_left, ui_noalign, ui_right, and value_as_long().
Referenced by info_tasks_command(), and mi_cmd_ada_task_info().
|
static |
Definition at line 630 of file ada-tasks.c.
References current_program_space, get_ada_tasks_pspace_data(), target_get_ada_task_ptid(), value_as_address(), value_as_long(), and value_field().
Referenced by read_atcb().
|
static |
Definition at line 657 of file ada-tasks.c.
References ada_coerce_to_simple_array_ptr(), ada_get_field_index(), ada_get_tcb_types_info(), ada_task_is_alive(), ada_tasks_pspace_data::atcb_call_type, ada_tasks_pspace_data::atcb_type, ada_task_info::base_cpu, ada_task_info::called_task, ada_task_info::caller_task, ada_tasks_pspace_data::cpu_id_offset, current_program_space, Entry_Caller_Sleep, get_ada_tasks_pspace_data(), ada_tasks_pspace_data::initialized_p, general_symbol_info::linkage_name(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, ada_task_info::name, ada_task_info::parent, ada_task_info::priority, ada_task_info::ptid, ptid_from_atcb_common(), read_fat_string_value(), ada_task_info::state, ada_task_info::task_id, value::type(), value_as_address(), value_as_long(), value_as_string(), value_field(), value_from_contents_and_address(), and value_subscript().
Referenced by add_ada_task().
|
static |
Definition at line 443 of file ada-tasks.c.
References ada_get_field_index(), value::address, type::code(), type::field(), read_memory(), type::target_type(), field::type(), value::type(), value_as_long(), value_field(), and value_ind().
Referenced by read_atcb().
|
static |
Definition at line 1008 of file ada-tasks.c.
References ADA_TASKS_ARRAY, ada_tasks_inferior_data_sniffer(), ADA_TASKS_LIST, ADA_TASKS_NOT_FOUND, ADA_TASKS_UNKNOWN, current_inferior(), get_ada_tasks_inferior_data(), read_known_tasks_array(), and read_known_tasks_list().
Referenced by ada_build_task_list().
|
static |
Definition at line 848 of file ada-tasks.c.
References add_ada_task(), current_inferior(), extract_typed_address(), and read_memory().
Referenced by read_known_tasks().
|
static |
Definition at line 875 of file ada-tasks.c.
References add_ada_task(), ada_tasks_pspace_data::atcb_type, current_inferior(), current_program_space, extract_typed_address(), get_ada_tasks_pspace_data(), read_memory(), value_as_address(), value_field(), and value_from_contents_and_address().
Referenced by read_known_tasks().
|
static |
Definition at line 1542 of file ada-tasks.c.
References ada_build_task_list(), ada_task_is_alive(), current_inferior(), flags, get_ada_tasks_inferior_data(), make_task_apply_all_options_def_group(), gdb::option::process_options(), gdb::option::PROCESS_OPTIONS_UNKNOWN_IS_OPERAND, ada_task_info::ptid, switch_to_thread_if_alive(), task_to_str(), thread_try_catch_cmd(), update_thread_list(), and validate_flags_qcs().
|
static |
Definition at line 1592 of file ada-tasks.c.
References ada_build_task_list(), ada_task_is_alive(), number_or_range_parser::cur_tok(), current_inferior(), number_or_range_parser::finished(), flags, get_ada_tasks_inferior_data(), number_or_range_parser::get_number(), make_task_apply_options_def_group(), gdb::option::process_options(), gdb::option::PROCESS_OPTIONS_UNKNOWN_IS_OPERAND, ada_task_info::ptid, switch_to_thread_if_alive(), task_to_str(), thread_try_catch_cmd(), update_thread_list(), and validate_flags_qcs().
|
static |
Definition at line 1416 of file ada-tasks.c.
References ada_build_task_list(), current_inferior(), current_uiout, display_current_task_id(), ui_out::message(), and task_command_1().
|
static |
Definition at line 1364 of file ada-tasks.c.
References ada_find_printable_frame(), ada_task_is_alive(), frame_relative_level(), gdb_printf(), get_ada_tasks_inferior_data(), get_selected_frame(), parse_and_eval(), print_stack_frame(), ada_task_info::ptid, SRC_AND_LOC, switch_to_thread(), target_update_thread_list(), task_to_str(), and value_as_long().
Referenced by task_command().
|
static |
Definition at line 281 of file ada-tasks.c.
References ada_task_info::name.
Referenced by display_current_task_id(), task_apply_all_command(), task_apply_command(), and task_command_1().
int valid_task_id | ( | int | task_num | ) |
Definition at line 370 of file ada-tasks.c.
References ada_build_task_list(), current_inferior(), and get_ada_tasks_inferior_data().
Referenced by bppy_set_task(), find_condition_and_thread(), gdbscm_set_breakpoint_task_x(), and watch_command_1().
|
static |
Definition at line 431 of file ada-tasks.c.
References value::contents().
Referenced by read_atcb().
|
static |
Definition at line 275 of file ada-tasks.c.
Referenced by get_ada_tasks_inferior_data().
|
static |
Definition at line 199 of file ada-tasks.c.
Referenced by get_ada_tasks_pspace_data().
|
static |
Definition at line 103 of file ada-tasks.c.
Referenced by get_long_state().
|
static |
Definition at line 37 of file ada-tasks.c.
Referenced by ada_tasks_inferior_data_sniffer().
|
static |
Definition at line 1502 of file ada-tasks.c.
Referenced by make_task_apply_all_options_def_group(), and make_task_apply_options_def_group().
|
static |
Definition at line 67 of file ada-tasks.c.