26#include "gdbsupport/event-loop.h"
44#include "gdbsupport/scope-exit.h"
51 (gdb::unique_xmalloc_ptr<char> &&cmd);
99 gdb_assert (mi->
mi_uiout !=
nullptr);
158 struct interp *interp_to_use;
162 error (_(
"-interpreter-exec: "
163 "Usage: -interpreter-exec interp command"));
166 if (interp_to_use == NULL)
167 error (_(
"-interpreter-exec: could not find interpreter \"%s\""),
188 for (i = 1; i < argc; i++)
281 gdb::optional<ULONGEST> ,
293 const char *method,
const char *format)
302 "record-started,thread-group=\"i%d\","
303 "method=\"%s\",format=\"%s\"",
304 inferior->
num, method, format);
307 "record-started,thread-group=\"i%d\","
309 inferior->
num, method);
313 "record-stopped,thread-group=\"i%d\"",
346 if (
inf->has_exit_code)
348 "thread-group-exited,id=\"i%d\",exit-code=\"%s\"",
349 inf->
num, int_string (
inf->exit_code, 8, 0, 0, 1));
352 "thread-group-exited,id=\"i%d\"", inf->
num);
491 "num=\"%d\",tracepoint=\"%d\"",
506 "name=\"%s\",initial=\"%s\"",
567 scoped_restore restore_uiout
572 catch (
const gdb_exception_error &ex)
640 "*running,thread-id=\"%d\"\n",
684 if ((ptid == minus_one_ptid || ptid.is_pid ())
709 if (ptid == minus_one_ptid || ptid.is_pid ())
808 ssize_t len,
const bfd_byte *myaddr)
830 if (sec !=
nullptr && sec->
objfile !=
nullptr)
834 if (
flags & SEC_CODE)
896 ui_file *logfile_p = logfile.get ();
struct gdbarch * target_gdbarch(void)
void print_breakpoint(breakpoint *b)
struct process_stratum_target * process_target()
const char * name() const
void set_raw(ui_file *raw)
void on_user_selected_context_changed(user_selected_what selection) override
void on_solib_unloaded(so_list *so) override
ui_out * interp_ui_out() override
void on_inferior_removed(inferior *inf) override
void on_param_changed(const char *param, const char *value) override
void on_tsv_created(const trace_state_variable *tsv) override
void pre_command_loop() override
void on_solib_loaded(so_list *so) override
void on_new_thread(thread_info *t) override
void on_command_error() override
void on_sync_execution_done() override
void on_target_resumed(ptid_t ptid) override
void on_traceframe_changed(int tfnum, int tpnum) override
void on_thread_exited(thread_info *t, gdb::optional< ULONGEST > exit_code, int silent) override
void on_about_to_proceed() override
mi_console_file * event_channel
struct ui_out * cli_uiout
void on_breakpoint_deleted(breakpoint *b) override
void exec(const char *command_str) override
void on_exited(int status) override
void on_tsv_modified(const trace_state_variable *tsv) override
struct ui_file * raw_stdout
struct ui_file * saved_raw_stdout
void on_inferior_added(inferior *inf) override
void on_signal_exited(gdb_signal sig) override
void set_logging(ui_file_up logfile, bool logging_redirect, bool debug_redirect) override
void on_record_changed(inferior *inf, int started, const char *method, const char *format) override
void on_inferior_appeared(inferior *inf) override
void on_tsv_deleted(const trace_state_variable *tsv) override
void on_inferior_disappeared(inferior *inf) override
ui_file_up logfile_holder
void on_breakpoint_created(breakpoint *b) override
const char * current_token
void on_signal_received(gdb_signal sig) override
void on_breakpoint_modified(breakpoint *b) override
void on_normal_stop(struct bpstat *bs, int print_frame) override
int running_result_record_printed
void on_no_history() override
void on_memory_changed(inferior *inf, CORE_ADDR addr, ssize_t len, const bfd_byte *data) override
void init(bool top_level) override
thread_info * find_thread(ptid_t ptid)
static void ours_for_output()
struct thread_fsm * thread_fsm() const
thread_control_state control
void field_core_addr(const char *fldname, struct gdbarch *gdbarch, CORE_ADDR address)
void field_string(const char *fldname, const char *string, const ui_file_style &style=ui_file_style())
void field_fmt(const char *fldname, const char *format,...) ATTRIBUTE_PRINTF(3
void field_signed(const char *fldname, LONGEST value)
int should_print_stop_to_console(struct interp *console_interp, struct thread_info *tp)
static bool debug_redirect
static bool logging_redirect
int(* deprecated_query_hook)(const char *, va_list) ATTRIBUTE_FPTR_PRINTF(1
void(* deprecated_show_load_progress)(const char *section, unsigned long section_sent, unsigned long section_size, unsigned long total_sent, unsigned long total_size)
void gdb_setup_readline(int editing)
void gdb_disable_readline(void)
void gdb_readline_no_editing_callback(gdb_client_data client_data)
void exception_print(struct ui_file *file, const struct gdb_exception &e)
frame_info_ptr get_selected_frame(const char *message)
void print_stack_frame_to_uiout(struct ui_out *uiout, frame_info_ptr, int print_level, enum print_what print_what, int set_current_sal)
static void ATTRIBUTE_PRINTF(1, 0)
int gdbarch_has_global_solist(struct gdbarch *gdbarch)
void print_selected_thread_frame(struct ui_out *uiout, user_selected_what selection)
all_non_exited_threads_range all_non_exited_threads(process_stratum_target *proc_target=nullptr, ptid_t filter_ptid=minus_one_ptid)
struct thread_info * inferior_thread(void)
mach_port_t kern_return_t mach_port_t mach_msg_type_name_t msgportsPoly mach_port_t kern_return_t pid_t pid mach_port_t kern_return_t mach_port_t task mach_port_t kern_return_t int flags
mach_port_t mach_port_t name mach_port_t mach_port_t name kern_return_t int status
void print_selected_inferior(struct ui_out *uiout)
struct inferior * current_inferior(void)
all_inferiors_range all_inferiors(process_stratum_target *proc_target=nullptr)
all_non_exited_inferiors_range all_non_exited_inferiors(process_stratum_target *proc_target=nullptr)
void print_no_history_reason(struct ui_out *uiout)
void print_stop_event(struct ui_out *uiout, bool displays)
void print_signal_exited_reason(struct ui_out *uiout, enum gdb_signal siggnal)
void print_exited_reason(struct ui_out *uiout, int exitstatus)
void print_signal_received_reason(struct ui_out *uiout, enum gdb_signal siggnal)
struct interp * interp_lookup(struct ui *ui, const char *name)
struct interp * top_level_interpreter(void)
void interp_exec(struct interp *interp, const char *command_str)
void interp_factory_register(const char *name, interp_factory_func func)
struct ui_file * gdb_stdtarg
struct ui_file * gdb_stdtargerr
mi_cmd_argv_ftype mi_cmd_interpreter_exec
void mi_execute_command(const char *cmd, int from_tty)
const char * async_reason_lookup(enum async_reply_reason reason)
static struct interp * mi_interp_factory(const char *name)
static void mi_print_breakpoint_for_event(struct mi_interp *mi, breakpoint *bp)
static void mi_execute_command_input_handler(gdb::unique_xmalloc_ptr< char > &&cmd)
void mi_output_solib_attribs(ui_out *uiout, struct so_list *solib)
static int mi_interp_query_hook(const char *ctlstr, va_list ap) ATTRIBUTE_PRINTF(1
static void mi_on_resume_1(struct mi_interp *mi, process_stratum_target *targ, ptid_t ptid)
static void mi_remove_notify_hooks(void)
static int static void mi_insert_notify_hooks(void)
static void mi_execute_command_wrapper(const char *cmd)
void _initialize_mi_interp()
static bool multiple_inferiors_p()
static void mi_output_running(struct thread_info *thread)
static void display_mi_prompt(struct mi_interp *mi)
void mi_output_solib_attribs(ui_out *uiout, struct so_list *solib)
static struct mi_interp * as_mi_interp(struct interp *interp)
void mi_load_progress(const char *section_name, unsigned long sent_so_far, unsigned long total_section, unsigned long total_sent, unsigned long grand_total)
void mi_print_timing_maybe(struct ui_file *file)
void mi_out_rewind(ui_out *uiout)
void mi_out_put(ui_out *uiout, struct ui_file *stream)
std::unique_ptr< mi_ui_out > mi_out_new(const char *mi_version)
struct obj_section * find_pc_section(CORE_ADDR pc)
static void print_frame(const frame_print_options &opts, frame_info_ptr frame, int print_level, enum print_what print_what, int print_args, struct symtab_and_line sal)
int user_selected_context
struct bfd_section * the_bfd_section
char so_name[SO_NAME_MAX_PATH_SIZE]
char so_original_name[SO_NAME_MAX_PATH_SIZE]
enum async_reply_reason async_reply_reason()
void(* input_handler)(gdb::unique_xmalloc_ptr< char > &&)
enum prompt_state prompt_state
void(* call_readline)(gdb_client_data)
int target_core_of_thread(ptid_t ptid)
std::unique_ptr< ui_file > ui_file_up
#define SWITCH_THRU_ALL_UIS()
void gdb_printf(struct ui_file *stream, const char *format,...)
void gdb_flush(struct ui_file *stream)
void gdb_puts(const char *linebuffer, struct ui_file *stream)