85 ssize_t
len,
const bfd_byte *myaddr);
229 struct interp *interp_to_use;
231 char *mi_error_message = NULL;
235 error (
_(
"-interpreter-exec: "
236 "Usage: -interpreter-exec interp command"));
239 if (interp_to_use == NULL)
240 error (
_(
"-interpreter-exec: could not find interpreter \"%s\""),
257 for (i = 1; i < argc; i++)
263 mi_error_message = xstrdup (e.
message);
271 if (mi_error_message != NULL)
272 error (
"%s", mi_error_message);
379 "thread-created,id=\"%d\",group-id=\"i%d\"",
400 "thread-exited,id=\"%d\",group-id=\"i%d\"",
415 started ?
"started" :
"stopped", inferior->
num);
427 "thread-group-added,id=\"i%d\"",
439 "thread-group-started,id=\"i%d\",pid=\"%d\"",
452 "thread-group-exited,id=\"i%d\",exit-code=\"%s\"",
456 "thread-group-exited,id=\"i%d\"", inf->
num);
468 "thread-group-removed,id=\"i%d\"",
478 struct ui_out *saved_uiout = arg;
674 (mi_uiout,
"stopped-threads");
715 struct mi_suppress_notification mi_suppress_notification =
736 "num=\"%d\",tracepoint=\"%d\"\n",
754 "name=\"%s\",initial=\"%s\"\n",
771 "name=\"%s\"\n", tsv->
name);
820 "breakpoint-created");
880 "breakpoint-modified");
910 "*running,thread-id=\"%d\"\n",
1059 "cmd-param-changed");
1075 ssize_t
len,
const bfd_byte *myaddr)
1081 if (mi_suppress_notification.
memory)
1098 if (sec != NULL && sec->
objfile != NULL)
1103 if (flags & SEC_CODE)
1123 "thread-group-added,id=\"i%d\"",
1173 saved_raw_stdout = NULL;
void get_last_target_status(ptid_t *ptidp, struct target_waitstatus *status)
struct gdbarch * target_gdbarch(void)
void target_terminal_ours(void)
char * hex_string(LONGEST num)
static int mi_inferior_count(struct inferior *inf, void *arg)
static void mi_inferior_exit(struct inferior *inf)
struct observer * observer_attach_record_changed(observer_record_changed_ftype *f)
void start_event_loop(void)
static void mi_on_no_history(void)
struct observer * observer_attach_breakpoint_deleted(observer_breakpoint_deleted_ftype *f)
static void mi_on_end_stepping_range(void)
struct thread_info * find_thread_ptid(ptid_t ptid)
struct observer * observer_attach_inferior_removed(observer_inferior_removed_ftype *f)
struct observer * observer_attach_thread_exit(observer_thread_exit_ftype *f)
int ptid_is_pid(ptid_t ptid)
static void mi_on_signal_exited(enum gdb_signal siggnal)
void ui_out_field_int(struct ui_out *uiout, const char *fldname, int value)
int ptid_equal(ptid_t ptid1, ptid_t ptid2)
void print_signal_received_reason(struct ui_out *uiout, enum gdb_signal siggnal)
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)
static int mi_output_running_pid(struct thread_info *info, void *arg)
void fputs_unfiltered(const char *buf, struct ui_file *file)
void(* input_handler)(char *)
void mi_console_set_raw(struct ui_file *file, struct ui_file *raw)
void print_no_history_reason(struct ui_out *uiout)
int gdbarch_has_global_solist(struct gdbarch *gdbarch)
char * int_string(LONGEST val, int radix, int is_signed, int width, int use_c_format)
static int mi_set_logging(struct interp *interp, int start_log, struct ui_file *out, struct ui_file *logfile)
struct bfd_section * the_bfd_section
static int mi_interpreter_resume(void *data)
int(* deprecated_query_hook)(const char *, va_list) ATTRIBUTE_FPTR_PRINTF(1
static void mi_new_thread(struct thread_info *t)
char * plongest(LONGEST l)
static struct interp * find_mi_interpreter(void)
void ui_file_delete(struct ui_file *file)
static void mi_command_param_changed(const char *param, const char *value)
struct ui_file * gdb_stdout
static void restore_current_uiout_cleanup(void *arg)
struct ui_out * cli_out_new(struct ui_file *stream)
struct thread_info * inferior_thread(void)
static int mi_interpreter_suspend(void *data)
struct ui_out * interp_ui_out(struct interp *interp)
int ui_out_is_mi_like_p(struct ui_out *uiout)
struct observer * observer_attach_signal_exited(observer_signal_exited_ftype *f)
void mi_cmd_interpreter_exec(char *command, char **argv, int argc)
void print_exited_reason(struct ui_out *uiout, int exitstatus)
const struct gdb_exception exception_none
static int report_initial_inferior(struct inferior *inf, void *closure)
void gdb_setup_readline(void)
struct observer * observer_attach_inferior_exit(observer_inferior_exit_ftype *f)
struct inferior * find_inferior_ptid(ptid_t ptid)
struct inferior * iterate_over_inferiors(int(*callback)(struct inferior *, void *), void *data)
initialize_file_ftype _initialize_mi_interp
static void mi_on_exited(int exitstatus)
void gdb_disable_readline(void)
void interp_add(struct interp *interp)
struct observer * observer_attach_signal_received(observer_signal_received_ftype *f)
void ui_out_field_fmt(struct ui_out *uiout, const char *fldname, const char *format,...)
static void mi_record_changed(struct inferior *, int)
static void mi_on_sync_execution_done(void)
void mi_out_put(struct ui_out *uiout, struct ui_file *stream)
static void mi_breakpoint_created(struct breakpoint *b)
static void mi_tsv_modified(const struct trace_state_variable *tsv)
static void mi_traceframe_changed(int tfnum, int tpnum)
mach_port_t kern_return_t mach_port_t msgports 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
void null_cleanup(void *arg)
struct thread_info * iterate_over_threads(thread_callback_func, void *)
struct observer * observer_attach_no_history(observer_no_history_ftype *f)
void print_signal_exited_reason(struct ui_out *uiout, enum gdb_signal siggnal)
struct observer * observer_attach_command_param_changed(observer_command_param_changed_ftype *f)
void mi_print_timing_maybe(void)
static int static void mi_insert_notify_hooks(void)
void(* call_readline)(gdb_client_data)
#define CATCH(EXCEPTION, MASK)
static void mi_remove_notify_hooks(void)
static struct gdb_exception mi_interpreter_exec(void *data, const char *command)
void initialize_file_ftype(void)
struct cleanup * make_cleanup_ui_out_list_begin_end(struct ui_out *uiout, const char *id)
static int mi_interp_query_hook(const char *ctlstr, va_list ap) ATTRIBUTE_PRINTF(1
struct ui_out * cli_uiout
static void mi_memory_changed(struct inferior *inf, CORE_ADDR memaddr, ssize_t len, const bfd_byte *myaddr)
struct observer * observer_attach_tsv_created(observer_tsv_created_ftype *f)
void fprintf_unfiltered(struct ui_file *stream, const char *format,...)
void clear_interpreter_hooks(void)
struct observer * observer_attach_breakpoint_created(observer_breakpoint_created_ftype *f)
static void mi_on_resume(ptid_t ptid)
struct observer * observer_attach_solib_unloaded(observer_solib_unloaded_ftype *f)
struct ui_file * raw_stdout
#define gdb_assert_not_reached(message)
void * interp_data(struct interp *interp)
char so_original_name[SO_NAME_MAX_PATH_SIZE]
int async_command_editing_p
static void mi_inferior_added(struct inferior *inf)
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
char so_name[SO_NAME_MAX_PATH_SIZE]
struct thread_control_state control
static void mi_on_normal_stop(struct bpstats *bs, int print_frame)
void(* deprecated_show_load_progress)(const char *section, unsigned long section_sent, unsigned long section_size, unsigned long total_sent, unsigned long total_size)
static void * mi_interpreter_init(struct interp *interp, int top_level)
#define target_is_async_p()
static void mi_thread_exit(struct thread_info *t, int silent)
struct observer * observer_attach_target_resumed(observer_target_resumed_ftype *f)
struct observer * observer_attach_exited(observer_exited_ftype *f)
static struct ui_file * saved_raw_stdout
void mi_out_rewind(struct ui_out *uiout)
struct ui_file * tee_file_new(struct ui_file *one, int close_one, struct ui_file *two, int close_two)
struct interp * interp_new(const char *name, const struct interp_procs *procs)
int running_result_record_printed
void print_stop_event(struct target_waitstatus *ws)
void gdb_readline2(gdb_client_data client_data)
struct obj_section * find_pc_section(CORE_ADDR pc)
struct observer * observer_attach_inferior_appeared(observer_inferior_appeared_ftype *f)
struct ui_file * gdb_stdlog
struct ui_out * mi_out_new(int mi_version)
static void mi_tsv_deleted(const struct trace_state_variable *tsv)
static void mi_inferior_removed(struct inferior *inf)
struct interp * interp_lookup(const char *name)
int ptid_get_pid(ptid_t ptid)
const char * interp_name(struct interp *interp)
static struct ui_out * mi_ui_out(struct interp *interp)
static void mi_solib_unloaded(struct so_list *solib)
static void mi_solib_loaded(struct so_list *solib)
static void mi_breakpoint_modified(struct breakpoint *b)
struct observer * observer_attach_tsv_modified(observer_tsv_modified_ftype *f)
static void mi_tsv_created(const struct trace_state_variable *tsv)
static void mi_breakpoint_deleted(struct breakpoint *b)
struct gdb_exception interp_exec(struct interp *interp, const char *command_str)
static void print_frame(struct frame_info *frame, int print_level, enum print_what print_what, int print_args, struct symtab_and_line sal)
void print_end_stepping_range_reason(struct ui_out *uiout)
void * top_level_interpreter_data(void)
int mi_version(struct ui_out *uiout)
struct ui_file * gdb_stderr
struct observer * observer_attach_breakpoint_modified(observer_breakpoint_modified_ftype *f)
struct interp * command_interp(void)
static void mi_on_signal_received(enum gdb_signal siggnal)
struct ui_file * gdb_stdtarg
static void mi_about_to_proceed(void)
int target_core_of_thread(ptid_t ptid)
enum gdb_rc gdb_breakpoint_query(struct ui_out *uiout, int bnum, char **error_message)
struct inferior * current_inferior(void)
struct interp * command_interp
void ui_out_field_core_addr(struct ui_out *uiout, const char *fldname, struct gdbarch *gdbarch, CORE_ADDR address)
int ui_out_redirect(struct ui_out *uiout, struct ui_file *outstream)
static void ATTRIBUTE_PRINTF(6, 0)
int pid_to_thread_id(ptid_t ptid)
struct observer * observer_attach_normal_stop(observer_normal_stop_ftype *f)
struct interp * top_level_interpreter(void)
struct observer * observer_attach_new_thread(observer_new_thread_ftype *f)
void ui_out_field_string(struct ui_out *uiout, const char *fldname, const char *string)
struct observer * observer_attach_inferior_added(observer_inferior_added_ftype *f)
struct ui_file * gdb_stdtargerr
static struct mi_interp * mi_interp_data(void)
struct observer * observer_attach_sync_execution_done(observer_sync_execution_done_ftype *f)
struct observer * observer_attach_end_stepping_range(observer_end_stepping_range_ftype *f)
void gdb_flush(struct ui_file *file)
struct ui_out * current_uiout
struct observer * observer_attach_memory_changed(observer_memory_changed_ftype *f)
struct ui_file * mi_console_file_new(struct ui_file *raw, const char *prefix, char quote)
void mi_execute_command(const char *cmd, int from_tty)
static void mi_execute_command_input_handler(char *cmd)
void error(const char *fmt,...)
struct observer * observer_attach_traceframe_changed(observer_traceframe_changed_ftype *f)
void do_cleanups(struct cleanup *old_chain)
struct observer * observer_attach_tsv_deleted(observer_tsv_deleted_ftype *f)
struct observer * observer_attach_solib_loaded(observer_solib_loaded_ftype *f)
struct cleanup * make_cleanup_restore_target_terminal(void)
static void mi_execute_command_wrapper(const char *cmd)
enum return_reason reason
struct observer * observer_attach_about_to_proceed(observer_about_to_proceed_ftype *f)
static void mi_inferior_appeared(struct inferior *inf)
static void mi_command_loop(void *data)
const ULONGEST const LONGEST len
struct ui_file * event_channel