GDB (xrefs)
|
#include "defs.h"
#include "mi-interp.h"
#include "interps.h"
#include "event-top.h"
#include "gdbsupport/event-loop.h"
#include "inferior.h"
#include "infrun.h"
#include "ui-out.h"
#include "top.h"
#include "mi-main.h"
#include "mi-cmds.h"
#include "mi-out.h"
#include "mi-console.h"
#include "mi-common.h"
#include "observable.h"
#include "gdbthread.h"
#include "solist.h"
#include "objfiles.h"
#include "tracepoint.h"
#include "cli-out.h"
#include "thread-fsm.h"
#include "cli/cli-interp.h"
#include "gdbsupport/scope-exit.h"
Go to the source code of this file.
Functions | |
static void | mi_execute_command_wrapper (const char *cmd) |
static void | mi_execute_command_input_handler (gdb::unique_xmalloc_ptr< char > &&cmd) |
static int | mi_interp_query_hook (const char *ctlstr, va_list ap) ATTRIBUTE_PRINTF(1 |
static int static void | mi_insert_notify_hooks (void) |
static void | mi_remove_notify_hooks (void) |
static void | mi_on_signal_received (enum gdb_signal siggnal) |
static void | mi_on_end_stepping_range (void) |
static void | mi_on_signal_exited (enum gdb_signal siggnal) |
static void | mi_on_exited (int exitstatus) |
static void | mi_on_normal_stop (struct bpstat *bs, int print_frame) |
static void | mi_on_no_history (void) |
static void | mi_new_thread (struct thread_info *t) |
static void | mi_thread_exit (struct thread_info *t, int silent) |
static void | mi_record_changed (struct inferior *, int, const char *, const char *) |
static void | mi_inferior_added (struct inferior *inf) |
static void | mi_inferior_appeared (struct inferior *inf) |
static void | mi_inferior_exit (struct inferior *inf) |
static void | mi_inferior_removed (struct inferior *inf) |
static void | mi_on_resume (ptid_t ptid) |
static void | mi_solib_loaded (struct so_list *solib) |
static void | mi_solib_unloaded (struct so_list *solib) |
static void | mi_about_to_proceed (void) |
static void | mi_traceframe_changed (int tfnum, int tpnum) |
static void | mi_tsv_created (const struct trace_state_variable *tsv) |
static void | mi_tsv_deleted (const struct trace_state_variable *tsv) |
static void | mi_tsv_modified (const struct trace_state_variable *tsv) |
static void | mi_breakpoint_created (struct breakpoint *b) |
static void | mi_breakpoint_deleted (struct breakpoint *b) |
static void | mi_breakpoint_modified (struct breakpoint *b) |
static void | mi_command_param_changed (const char *param, const char *value) |
static void | mi_memory_changed (struct inferior *inf, CORE_ADDR memaddr, ssize_t len, const bfd_byte *myaddr) |
static void | mi_on_sync_execution_done (void) |
static void | display_mi_prompt (struct mi_interp *mi) |
static struct mi_interp * | as_mi_interp (struct interp *interp) |
static void | mi_on_command_error () |
void | mi_cmd_interpreter_exec (const char *command, char **argv, int argc) |
static struct mi_interp * | find_mi_interp (void) |
static void | mi_on_normal_stop_1 (struct bpstat *bs, int print_frame) |
static void | mi_print_breakpoint_for_event (struct mi_interp *mi, breakpoint *bp) |
static void | mi_output_running (struct thread_info *thread) |
static bool | multiple_inferiors_p () |
static void | mi_on_resume_1 (struct mi_interp *mi, process_stratum_target *targ, ptid_t ptid) |
void | mi_output_solib_attribs (ui_out *uiout, struct so_list *solib) |
static void | mi_user_selected_context_changed (user_selected_what selection) |
static struct interp * | mi_interp_factory (const char *name) |
void | _initialize_mi_interp () |
Variables | |
struct mi_suppress_notification | mi_suppress_notification |
void _initialize_mi_interp | ( | ) |
Definition at line 1317 of file mi-interp.c.
Referenced by initialize_all_files().
Definition at line 110 of file mi-interp.c.
Referenced by find_mi_interp(), mi_breakpoint_created(), mi_breakpoint_deleted(), mi_breakpoint_modified(), mi_command_param_changed(), mi_execute_command_input_handler(), mi_inferior_added(), mi_inferior_appeared(), mi_inferior_exit(), mi_inferior_removed(), mi_memory_changed(), mi_new_thread(), mi_on_command_error(), mi_on_normal_stop(), mi_on_resume(), mi_on_sync_execution_done(), mi_output_running(), mi_record_changed(), mi_solib_loaded(), mi_solib_unloaded(), mi_thread_exit(), mi_traceframe_changed(), mi_tsv_created(), mi_tsv_deleted(), mi_tsv_modified(), and mi_user_selected_context_changed().
|
static |
Definition at line 97 of file mi-interp.c.
References current_ui, gdb_flush(), gdb_puts(), ui::prompt_state, PROMPTED, and mi_interp::raw_stdout.
Referenced by mi_execute_command_input_handler(), mi_on_command_error(), mi_on_sync_execution_done(), and mi_interp::pre_command_loop().
|
static |
Definition at line 515 of file mi-interp.c.
References as_mi_interp(), command_interp(), and top_level_interpreter().
Referenced by mi_on_end_stepping_range(), mi_on_exited(), mi_on_no_history(), mi_on_signal_exited(), and mi_on_signal_received().
|
static |
Definition at line 691 of file mi-interp.c.
References thread_info::control, thread_control_state::in_infcall, inferior_ptid, inferior_thread(), and mi_proceeded.
|
static |
Definition at line 859 of file mi-interp.c.
References as_mi_interp(), mi_suppress_notification::breakpoint, mi_interp::event_channel, gdb_flush(), gdb_printf(), mi_print_breakpoint_for_event(), breakpoint::number, target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 888 of file mi-interp.c.
References as_mi_interp(), mi_suppress_notification::breakpoint, mi_interp::event_channel, gdb_flush(), gdb_printf(), breakpoint::number, target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 916 of file mi-interp.c.
References as_mi_interp(), mi_suppress_notification::breakpoint, mi_interp::event_channel, gdb_flush(), gdb_printf(), mi_print_breakpoint_for_event(), breakpoint::number, target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
void mi_cmd_interpreter_exec | ( | const char * | command, |
char ** | argv, | ||
int | argc | ||
) |
Definition at line 210 of file mi-interp.c.
References current_ui, interp_exec(), interp_lookup(), mi_insert_notify_hooks(), and mi_remove_notify_hooks().
|
static |
Definition at line 1128 of file mi-interp.c.
References as_mi_interp(), mi_suppress_notification::cmd_param_changed, mi_interp::event_channel, ui_out::field_string(), gdb_flush(), gdb_printf(), interp::interp_ui_out(), target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 303 of file mi-interp.c.
References as_mi_interp(), current_ui, display_mi_prompt(), mi_execute_command_wrapper(), PROMPT_NEEDED, ui::prompt_state, and top_level_interpreter().
Referenced by mi_interp::resume().
|
static |
Definition at line 277 of file mi-interp.c.
References current_ui, ui::instream, mi_execute_command(), and ui::stdin_stream.
Referenced by mi_interp::exec(), and mi_execute_command_input_handler().
|
static |
Definition at line 418 of file mi-interp.c.
References as_mi_interp(), mi_interp::event_channel, gdb_flush(), gdb_printf(), target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 446 of file mi-interp.c.
References as_mi_interp(), mi_interp::event_channel, gdb_flush(), gdb_printf(), target_terminal::ours_for_output(), inf::pid, SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 466 of file mi-interp.c.
References as_mi_interp(), mi_interp::event_channel, gdb_flush(), gdb_printf(), target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 491 of file mi-interp.c.
References as_mi_interp(), mi_interp::event_channel, gdb_flush(), gdb_printf(), target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 259 of file mi-interp.c.
References deprecated_query_hook, and mi_interp_query_hook().
Referenced by mi_cmd_interpreter_exec().
|
static |
Definition at line 1310 of file mi-interp.c.
References name.
|
static |
Definition at line 271 of file mi-interp.c.
Referenced by mi_insert_notify_hooks().
|
static |
Definition at line 1160 of file mi-interp.c.
References as_mi_interp(), mi_interp::event_channel, ui_out::field_core_addr(), ui_out::field_fmt(), ui_out::field_string(), find_pc_section(), flags, gdb_flush(), gdb_printf(), interp::interp_ui_out(), mi_suppress_notification::memory, inferior::num, obj_section::objfile, target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, target_gdbarch(), obj_section::the_bfd_section, and top_level_interpreter().
|
static |
Definition at line 335 of file mi-interp.c.
References as_mi_interp(), mi_interp::event_channel, gdb_flush(), gdb_printf(), thread_info::global_num, thread_info::inf, inferior::num, target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 118 of file mi-interp.c.
References as_mi_interp(), display_mi_prompt(), and top_level_interpreter().
|
static |
Definition at line 554 of file mi-interp.c.
References mi_interp::cli_uiout, find_mi_interp(), mi_interp::mi_uiout, print_end_stepping_range_reason(), and SWITCH_THRU_ALL_UIS.
|
static |
Definition at line 588 of file mi-interp.c.
References mi_interp::cli_uiout, find_mi_interp(), mi_interp::mi_uiout, print_exited_reason(), and SWITCH_THRU_ALL_UIS.
|
static |
Definition at line 605 of file mi-interp.c.
References mi_interp::cli_uiout, find_mi_interp(), mi_interp::mi_uiout, print_no_history_reason(), and SWITCH_THRU_ALL_UIS.
|
static |
Definition at line 679 of file mi-interp.c.
References as_mi_interp(), mi_on_normal_stop_1(), print_frame(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 620 of file mi-interp.c.
References async_reason_lookup(), thread_fsm::async_reply_reason(), mi_interp::cli_uiout, current_ui, ui_out::field_signed(), ui_out::field_string(), thread_fsm::finished_p(), gdb_flush(), gdb_puts(), thread_info::global_num, inferior_thread(), INTERP_CONSOLE, interp_lookup(), interp::interp_ui_out(), mi_out_put(), mi_out_rewind(), mi_print_timing_maybe(), non_stop, print_frame(), print_stop_event(), thread_info::ptid, mi_interp::raw_stdout, should_print_stop_to_console(), target_core_of_thread(), thread_info::thread_fsm(), and top_level_interpreter().
Referenced by mi_on_normal_stop().
|
static |
Definition at line 1016 of file mi-interp.c.
References as_mi_interp(), thread_info::control, current_inferior(), find_thread_ptid(), thread_control_state::in_infcall, inferior_thread(), mi_on_resume_1(), target_terminal::ours_for_output(), inferior::process_target(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 976 of file mi-interp.c.
References all_non_exited_threads(), current_token, current_ui, gdb_flush(), gdb_printf(), gdb_puts(), mi_output_running(), mi_proceeded, multiple_inferiors_p(), PROMPT_BLOCKED, ui::prompt_state, mi_interp::raw_stdout, running_result_record_printed, and mi_interp::targ.
Referenced by mi_on_resume().
|
static |
Definition at line 571 of file mi-interp.c.
References mi_interp::cli_uiout, find_mi_interp(), mi_interp::mi_uiout, print_signal_exited_reason(), and SWITCH_THRU_ALL_UIS.
|
static |
Definition at line 537 of file mi-interp.c.
References mi_interp::cli_uiout, find_mi_interp(), mi_interp::mi_uiout, print_signal_received_reason(), and SWITCH_THRU_ALL_UIS.
|
static |
Definition at line 287 of file mi-interp.c.
References as_mi_interp(), display_mi_prompt(), mi_async_p(), and top_level_interpreter().
|
static |
Definition at line 942 of file mi-interp.c.
References as_mi_interp(), gdb_printf(), thread_info::global_num, mi_interp::raw_stdout, SWITCH_THRU_ALL_UIS, and top_level_interpreter().
Referenced by mi_on_resume_1().
Definition at line 1047 of file mi-interp.c.
References so_list::addr_high, so_list::addr_low, current_inferior(), ui_out::field_core_addr(), ui_out::field_fmt(), ui_out::field_signed(), ui_out::field_string(), gdbarch_has_global_solist(), so_list::so_name, so_list::so_original_name, so_list::symbols_loaded, and target_gdbarch().
Referenced by mi_cmd_file_list_shared_libraries(), and mi_solib_loaded().
|
static |
Definition at line 830 of file mi-interp.c.
References bp, current_uiout, mi_interp::event_channel, exception_print(), gdb_stderr, mi_interp::interp_ui_out(), and print_breakpoint().
Referenced by mi_breakpoint_created(), and mi_breakpoint_modified().
|
static |
Definition at line 376 of file mi-interp.c.
References as_mi_interp(), mi_interp::event_channel, gdb_flush(), gdb_printf(), inferior::num, target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 265 of file mi-interp.c.
References deprecated_query_hook.
Referenced by mi_cmd_interpreter_exec().
|
static |
Definition at line 1068 of file mi-interp.c.
References as_mi_interp(), mi_interp::event_channel, gdb_flush(), gdb_printf(), interp::interp_ui_out(), mi_output_solib_attribs(), target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 1094 of file mi-interp.c.
References as_mi_interp(), current_inferior(), mi_interp::event_channel, ui_out::field_fmt(), ui_out::field_string(), gdb_flush(), gdb_printf(), gdbarch_has_global_solist(), interp::interp_ui_out(), target_terminal::ours_for_output(), so_list::so_name, so_list::so_original_name, SWITCH_THRU_ALL_UIS, target_gdbarch(), and top_level_interpreter().
|
static |
Definition at line 355 of file mi-interp.c.
References as_mi_interp(), mi_interp::event_channel, gdb_flush(), gdb_printf(), thread_info::global_num, thread_info::inf, inferior::num, target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 720 of file mi-interp.c.
References as_mi_interp(), mi_interp::event_channel, gdb_flush(), gdb_printf(), target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, top_level_interpreter(), and mi_suppress_notification::traceframe.
|
static |
Definition at line 749 of file mi-interp.c.
References as_mi_interp(), mi_interp::event_channel, gdb_flush(), gdb_printf(), trace_state_variable::initial_value, trace_state_variable::name, target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 772 of file mi-interp.c.
References as_mi_interp(), mi_interp::event_channel, gdb_flush(), gdb_printf(), trace_state_variable::name, target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, and top_level_interpreter().
|
static |
Definition at line 797 of file mi-interp.c.
References as_mi_interp(), mi_interp::event_channel, ui_out::field_string(), gdb_flush(), gdb_printf(), trace_state_variable::initial_value, interp::interp_ui_out(), trace_state_variable::name, target_terminal::ours_for_output(), SWITCH_THRU_ALL_UIS, top_level_interpreter(), trace_state_variable::value, and trace_state_variable::value_known.
|
static |
Definition at line 1207 of file mi-interp.c.
References as_mi_interp(), mi_interp::cli_uiout, mi_interp::event_channel, gdb_flush(), gdb_printf(), get_selected_frame(), thread_info::global_num, has_stack_frames(), inferior_ptid, inferior_thread(), interp::interp_ui_out(), target_terminal::ours_for_output(), print_selected_inferior(), print_selected_thread_frame(), print_stack_frame_to_uiout(), SRC_AND_LOC, thread_info::state, SWITCH_THRU_ALL_UIS, THREAD_RUNNING, top_level_interpreter(), mi_suppress_notification::user_selected_context, USER_SELECTED_FRAME, USER_SELECTED_INFERIOR, and USER_SELECTED_THREAD.
|
static |
Definition at line 962 of file mi-interp.c.
References all_non_exited_inferiors().
Referenced by mi_on_resume_1().
Definition at line 709 of file mi-interp.c.