44 int skip_unavailable);
53 error (
_(
"-enable-frame-filters: no arguments allowed"));
63 int frame_low,
int frame_high)
70 frame_low, frame_high);
93 static const struct mi_opt opts[] =
95 {
"-no-frame-filters", NO_FRAME_FILTERS, 0},
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);
189 error (
_(
"-stack-info-depth: Usage: [MAX_DEPTH]"));
192 frame_high = atoi (
argv[0]);
199 fi && (i < frame_high || frame_high == -1);
218 int skip_unavailable = 0;
227 static const struct mi_opt opts[] =
229 {
"-no-frame-filters", NO_FRAME_FILTERS, 0},
230 {
"-skip-unavailable", SKIP_UNAVAILABLE, 0},
243 switch ((
enum opt) opt)
245 case NO_FRAME_FILTERS:
247 case SKIP_UNAVAILABLE:
248 skip_unavailable = 1;
256 if (argc - oind != 1)
257 error (
_(
"-stack-list-locals: Usage: [--no-frame-filters] " 258 "[--skip-unavailable] PRINT_VALUES"));
295 int skip_unavailable = 0;
302 static const struct mi_opt opts[] =
304 {
"-no-frame-filters", NO_FRAME_FILTERS, 0},
305 {
"-skip-unavailable", SKIP_UNAVAILABLE, 0},
317 switch ((
enum opt) opt)
319 case NO_FRAME_FILTERS:
322 case SKIP_UNAVAILABLE:
323 skip_unavailable = 1;
328 if (argc - oind != 1 && argc - oind != 3)
329 error (
_(
"-stack-list-arguments: Usage: " \
330 "[--no-frame-filters] [--skip-unavailable] " 331 "PRINT_VALUES [FRAME_LOW FRAME_HIGH]"));
333 if (argc - oind == 3)
335 frame_low = atoi (
argv[1 + oind]);
336 frame_high = atoi (
argv[2 + oind]);
356 error (
_(
"-stack-list-arguments: Not enough frames in stack."));
363 int py_frame_low = frame_low;
368 if (py_frame_low == -1)
373 py_frame_low, frame_high);
383 fi && (i <= frame_high || frame_high == -1);
407 int skip_unavailable = 0;
416 static const struct mi_opt opts[] =
418 {
"-no-frame-filters", NO_FRAME_FILTERS, 0},
419 {
"-skip-unavailable", SKIP_UNAVAILABLE, 0},
427 int opt =
mi_getopt (
"-stack-list-variables", argc - 1,
428 argv, opts, &oind, &oarg);
431 switch ((
enum opt) opt)
433 case NO_FRAME_FILTERS:
436 case SKIP_UNAVAILABLE:
437 skip_unavailable = 1;
445 if (argc - oind != 1)
446 error (
_(
"-stack-list-variables: Usage: [--no-frame-filters] " \
447 "[--skip-unavailable] PRINT_VALUES"));
485 && arg->
error == NULL)
488 && (arg->
val != NULL || arg->
error != NULL)));
493 if (skip_unavailable && arg->
val != NULL
506 tuple_emitter.
emplace (uiout,
nullptr);
527 const char *error_message = NULL;
530 error_message = arg->
error;
544 error_message = except.message;
548 if (error_message != NULL)
549 stb.
printf (
_(
"<error reading variable: %s>"), error_message);
568 const char *name_of_result;
576 name_of_result =
"locals";
579 name_of_result =
"args";
582 name_of_result =
"variables";
586 "unexpected what_to_list: %d", (
int) what);
639 memset (&arg, 0,
sizeof (arg));
642 memset (&entryarg, 0,
sizeof (entryarg));
682 if (argc == 0 || argc > 1)
683 error (
_(
"-stack-select-frame: Usage: FRAME_SPEC"));
692 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)
struct frame_info * get_current_frame(void)
struct frame_info * get_prev_frame(struct frame_info *this_frame)
LONGEST value_embedded_offset(const struct value *value)
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 * memset(T *s, int c, size_t n)=delete
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)
struct block_symbol lookup_symbol(const char *name, const struct block *block, domain_enum domain, struct field_of_this_result *is_a_field_of_this)
int value_bytes_available(const struct value *value, LONGEST offset, LONGEST length)
void select_frame_command(const char *level_exp, int from_tty)
#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)
void mi_cmd_stack_list_frames(const char *command, char **argv, int argc)
#define CATCH(EXCEPTION, MASK)
void print_value(struct value *val, const struct format_data *fmtp)
void mi_cmd_stack_list_locals(const char *command, char **argv, int argc)
const struct block * get_frame_block(struct frame_info *frame, CORE_ADDR *addr_in_block)
void mi_cmd_stack_list_args(const char *command, char **argv, int argc)
#define BLOCK_SUPERBLOCK(bl)
void field_stream(const char *fldname, string_file &stream)
void mi_cmd_stack_info_depth(const char *command, char **argv, int argc)
#define SYMBOL_LINKAGE_NAME(symbol)
void mi_cmd_stack_select_frame(const char *command, char **argv, int argc)
virtual void puts(const char *str)
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 mi_cmd_enable_frame_filters(const char *command, char **argv, int argc)
void read_frame_arg(struct symbol *sym, struct frame_info *frame, struct frame_arg *argp, struct frame_arg *entryargp)
void printf(const char *,...) ATTRIBUTE_PRINTF(2
T & emplace(Args &&... args)
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[]
#define TYPE_CODE(thistype)
void field_int(const char *fldname, int value)
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)
#define SYMBOL_LANGUAGE(symbol)
void mi_cmd_stack_info_frame(const char *command, char **argv, int argc)
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)
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,...)
void mi_cmd_stack_list_variables(const char *command, char **argv, int argc)
#define ALL_BLOCK_SYMBOLS(block, iter, sym)
#define SYMBOL_IS_ARGUMENT(symbol)