43 int skip_unavailable);
52 error (
_(
"-enable-frame-filters: no arguments allowed"));
62 int frame_low,
int frame_high)
69 frame_low, frame_high);
93 static const struct mi_opt opts[] =
95 {
"-no-frame-filters", NO_FRAME_FILTERS, 0},
104 int opt =
mi_getopt (
"-stack-list-frames", argc, argv,
108 switch ((
enum opt) opt)
110 case NO_FRAME_FILTERS:
118 if ((argc - oind != 0) && (argc - oind != 2))
119 error (
_(
"-stack-list-frames: Usage: [--no-frame-filters] [FRAME_LOW FRAME_HIGH]"));
122 if (argc - oind == 2)
124 frame_low = atoi (argv[0 + oind]);
125 frame_high = atoi (argv[1 + oind]);
143 error (
_(
"-stack-list-frames: Not enough frames in stack."));
150 int py_frame_low = frame_low;
155 if (py_frame_low == -1)
160 py_frame_low, frame_high);
170 fi && (i <= frame_high || frame_high == -1);
191 error (
_(
"-stack-info-depth: Usage: [MAX_DEPTH]"));
194 frame_high = atoi (argv[0]);
201 fi && (i < frame_high || frame_high == -1);
220 int skip_unavailable = 0;
231 static const struct mi_opt opts[] =
233 {
"-no-frame-filters", NO_FRAME_FILTERS, 0},
234 {
"-skip-unavailable", SKIP_UNAVAILABLE, 0},
242 int opt =
mi_getopt (
"-stack-list-locals", argc - 1, argv,
247 switch ((
enum opt) opt)
249 case NO_FRAME_FILTERS:
251 case SKIP_UNAVAILABLE:
252 skip_unavailable = 1;
260 if (argc - oind != 1)
261 error (
_(
"-stack-list-locals: Usage: [--no-frame-filters] "
262 "[--skip-unavailable] PRINT_VALUES"));
295 struct cleanup *cleanup_stack_args;
300 int skip_unavailable = 0;
307 static const struct mi_opt opts[] =
309 {
"-no-frame-filters", NO_FRAME_FILTERS, 0},
310 {
"-skip-unavailable", SKIP_UNAVAILABLE, 0},
322 switch ((
enum opt) opt)
324 case NO_FRAME_FILTERS:
327 case SKIP_UNAVAILABLE:
328 skip_unavailable = 1;
333 if (argc - oind != 1 && argc - oind != 3)
334 error (
_(
"-stack-list-arguments: Usage: " \
335 "[--no-frame-filters] [--skip-unavailable] "
336 "PRINT_VALUES [FRAME_LOW FRAME_HIGH]"));
338 if (argc - oind == 3)
340 frame_low = atoi (argv[1 + oind]);
341 frame_high = atoi (argv[2 + oind]);
361 error (
_(
"-stack-list-arguments: Not enough frames in stack."));
369 int py_frame_low = frame_low;
374 if (py_frame_low == -1)
379 py_frame_low, frame_high);
389 fi && (i <= frame_high || frame_high == -1);
417 int skip_unavailable = 0;
427 static const struct mi_opt opts[] =
429 {
"-no-frame-filters", NO_FRAME_FILTERS, 0},
430 {
"-skip-unavailable", SKIP_UNAVAILABLE, 0},
438 int opt =
mi_getopt (
"-stack-list-variables", argc - 1,
439 argv, opts, &oind, &oarg);
442 switch ((
enum opt) opt)
444 case NO_FRAME_FILTERS:
447 case SKIP_UNAVAILABLE:
448 skip_unavailable = 1;
456 if (argc - oind != 1)
457 error (
_(
"-stack-list-variables: Usage: [--no-frame-filters] " \
458 "[--skip-unavailable] PRINT_VALUES"));
498 && arg->
error == NULL)
501 && (arg->
val != NULL || arg->
error != NULL)));
506 if (skip_unavailable && arg->
val != NULL
540 const char *error_message = NULL;
543 error_message = arg->
error;
557 error_message = except.message;
561 if (error_message != NULL)
585 char *name_of_result;
593 name_of_result =
"locals";
596 name_of_result =
"args";
599 name_of_result =
"variables";
603 "unexpected what_to_list: %d", (
int) what);
656 memset (&arg, 0,
sizeof (arg));
659 memset (&entryarg, 0,
sizeof (entryarg));
700 if (argc == 0 || argc > 1)
701 error (
_(
"-stack-select-frame: Usage: FRAME_SPEC"));
710 error (
_(
"-stack-info-frame: No arguments allowed"));
struct frame_info * get_selected_frame(const char *message)
#define SYMBOL_PRINT_NAME(symbol)
static void list_args_or_locals(enum what_to_list what, enum print_values values, struct frame_info *fi, int skip_unavailable)
void ui_out_field_stream(struct ui_out *uiout, const char *fldname, struct ui_file *stream)
void ui_out_field_int(struct ui_out *uiout, const char *fldname, int value)
struct frame_info * get_current_frame(void)
void mi_cmd_stack_list_args(char *command, char **argv, int argc)
struct frame_info * get_prev_frame(struct frame_info *this_frame)
void common_val_print(struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options, const struct language_defn *language)
#define SYMBOL_CLASS(symbol)
void internal_error(const char *file, int line, const char *fmt,...)
const struct language_defn * language_def(enum language lang)
void type_print(struct type *type, const char *varstring, struct ui_file *stream, int show)
void get_no_prettyformat_print_options(struct value_print_options *opts)
void mi_cmd_stack_list_frames(char *command, char **argv, int argc)
#define BLOCK_FUNCTION(bl)
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
static void list_arg_or_local(const struct frame_arg *arg, enum what_to_list what, enum print_values values, int skip_unavailable)
const char print_entry_values_no[]
struct type * check_typedef(struct type *type)
int mi_getopt(const char *prefix, int argc, char **argv, const struct mi_opt *opts, int *oind, char **oarg)
#define CATCH(EXCEPTION, MASK)
void print_value(struct value *val, const struct format_data *fmtp)
void mi_cmd_stack_info_frame(char *command, char **argv, int argc)
struct cleanup * make_cleanup_ui_out_list_begin_end(struct ui_out *uiout, const char *id)
struct cleanup * make_cleanup_ui_out_tuple_begin_end(struct ui_out *uiout, const char *id)
void fprintf_filtered(struct ui_file *stream, const char *format,...)
void select_frame_command(char *level_exp, int from_tty)
const struct block * get_frame_block(struct frame_info *frame, CORE_ADDR *addr_in_block)
void mi_cmd_stack_info_depth(char *command, char **argv, int argc)
void fputs_filtered(const char *linebuffer, struct ui_file *stream)
void mi_cmd_stack_list_variables(char *command, char **argv, int argc)
#define BLOCK_SUPERBLOCK(bl)
#define SYMBOL_LINKAGE_NAME(symbol)
void mi_cmd_stack_select_frame(char *command, char **argv, int argc)
struct ui_file * mem_fileopen(void)
void read_frame_local(struct symbol *sym, struct frame_info *frame, struct frame_arg *argp)
int val_print_scalar_type_p(struct type *type)
void read_frame_arg(struct symbol *sym, struct frame_info *frame, struct frame_arg *argp, struct frame_arg *entryargp)
void mi_cmd_enable_frame_filters(char *command, char **argv, int argc)
int mi_getopt_allow_unknown(const char *prefix, int argc, char **argv, const struct mi_opt *opts, int *oind, char **oarg)
const char print_entry_values_only[]
struct cleanup * make_cleanup_ui_file_delete(struct ui_file *arg)
#define TYPE_CODE(thistype)
enum ext_lang_bt_status apply_ext_lang_frame_filter(struct frame_info *frame, int flags, enum ext_lang_frame_args args_type, struct ui_out *out, int frame_low, int frame_high)
struct symbol * lookup_symbol(const char *name, const struct block *block, domain_enum domain, struct field_of_this_result *is_a_field_of_this)
#define SYMBOL_LANGUAGE(symbol)
int value_bytes_available(const struct value *value, int offset, int length)
int value_embedded_offset(struct value *value)
struct type * value_type(const struct value *value)
static enum ext_lang_bt_status mi_apply_ext_lang_frame_filter(struct frame_info *frame, int flags, enum print_values print_values, struct ui_out *out, int frame_low, int frame_high)
#define TYPE_LENGTH(thistype)
struct ui_out * current_uiout
void print_frame_info(struct frame_info *, int print_level, enum print_what print_what, int args, int set_current_sal)
enum print_values mi_parse_print_values(const char *name)
int value_entirely_unavailable(struct value *value)
void error(const char *fmt,...)
#define ALL_BLOCK_SYMBOLS(block, iter, sym)
void do_cleanups(struct cleanup *old_chain)
#define SYMBOL_IS_ARGUMENT(symbol)
void mi_cmd_stack_list_locals(char *command, char **argv, int argc)