59 {
"all",
"scalars",
"none", NULL};
116 static struct symtab *last_displayed_symtab = 0;
132 if (sal.
line != 0 && sal.
pc == 0 && sal.
end == 0)
180 int first,
struct ui_file *stream)
188 for (i = 0; i < num; i++)
195 sizeof (
int), byte_order);
200 start +=
sizeof (
int);
216 const char *error_message = NULL;
225 && arg->
entry_kind == print_entry_values_compact));
232 if (arg->
entry_kind == print_entry_values_compact)
240 DMGL_PARAMS | DMGL_ANSI);
242 if (arg->
entry_kind == print_entry_values_only
243 || arg->
entry_kind == print_entry_values_compact)
254 error_message = arg->
error;
282 opts.
summary = !strcmp (print_frame_arguments,
"scalars");
288 error_message = except.message;
292 if (error_message != NULL)
313 struct value *val = NULL;
325 argp->
error = xstrdup (except.message);
338 struct value *val = NULL, *entryval = NULL;
339 char *val_error = NULL, *entryval_error = NULL;
342 if (print_entry_values != print_entry_values_only
343 && print_entry_values != print_entry_values_preferred)
351 val_error = alloca (strlen (except.message) + 1);
352 strcpy (val_error, except.message);
359 && print_entry_values != print_entry_values_no
360 && (print_entry_values != print_entry_values_if_needed
374 entryval_error = (
char *) alloca (strlen (except.message) + 1);
375 strcpy (entryval_error, except.message);
383 if (print_entry_values == print_entry_values_compact
384 || print_entry_values == print_entry_values_default)
400 struct value *val_deref = NULL, *entryval_deref;
409 struct type *type_deref;
434 else if (except.message != NULL)
436 entryval_error = (
char *) alloca (strlen (except.message) + 1);
437 strcpy (entryval_error, except.message);
443 if (val == val_deref)
454 if (val_error && entryval_error
455 && strcmp (val_error, entryval_error) == 0)
457 entryval_error = NULL;
466 if (entryval == NULL)
468 if (print_entry_values == print_entry_values_preferred)
478 val_error = alloca (strlen (except.message) + 1);
479 strcpy (val_error, except.message);
483 if (print_entry_values == print_entry_values_only
484 || print_entry_values == print_entry_values_both
485 || (print_entry_values == print_entry_values_preferred
489 entryval_error = NULL;
492 if ((print_entry_values == print_entry_values_compact
493 || print_entry_values == print_entry_values_if_needed
494 || print_entry_values == print_entry_values_preferred)
503 argp->
error = val_error ? xstrdup (val_error) : NULL;
504 if (!val && !val_error)
506 else if ((print_entry_values == print_entry_values_compact
507 || print_entry_values == print_entry_values_default) && val_equal)
515 entryargp->
sym = sym;
516 entryargp->
val = entryval;
517 entryargp->
error = entryval_error ? xstrdup (entryval_error) : NULL;
518 if (!entryval && !entryval_error)
535 int num,
struct ui_file *stream)
542 long highest_offset = -1;
544 int args_printed = 0;
548 int print_args = strcmp (print_frame_arguments,
"none");
582 ((current_offset + arg_size +
sizeof (
int) - 1)
583 & ~(
sizeof (
int) - 1));
587 if (highest_offset == -1
588 || (current_offset > highest_offset))
589 highest_offset = current_offset;
593 args_printed += (arg_size +
sizeof (
int) - 1) /
sizeof (
int);
677 memset (&arg, 0,
sizeof (arg));
680 memset (&entryarg, 0,
sizeof (entryarg));
687 if (arg.
entry_kind != print_entry_values_only)
690 if (entryarg.
entry_kind != print_entry_values_no)
692 if (arg.
entry_kind != print_entry_values_only)
714 if (highest_offset == -1)
717 start = highest_offset;
754 _(
"Debugger's willingness to use "
755 "disassemble-next-line is %s.\n"),
866 location_print = (print_what ==
LOCATION
870 if (location_print || !sal.
symtab)
871 print_frame (frame, print_level, print_what, print_args, sal);
879 && source_print && !sal.
symtab)
883 if (source_print && sal.
symtab)
886 int mid_statement = ((print_what ==
SRC_LINE)
889 if (annotation_level)
952 last_displayed_sal_valid = valid;
953 last_displayed_pspace = pspace;
954 last_displayed_addr = addr;
955 last_displayed_symtab = symtab;
956 last_displayed_line =
line;
957 if (valid && pspace == NULL)
961 _(
"Trying to set NULL pspace."));
970 last_displayed_sal_valid = 0;
971 last_displayed_pspace = 0;
972 last_displayed_addr = 0;
973 last_displayed_symtab = 0;
974 last_displayed_line = 0;
992 if (last_displayed_sal_valid)
1002 if (last_displayed_sal_valid)
1012 if (last_displayed_sal_valid)
1022 if (last_displayed_sal_valid)
1032 if (last_displayed_sal_valid)
1092 memset (&msymbol, 0,
sizeof (msymbol));
1094 if (msymbol.
minsym != NULL
1122 *funname = func_only;
1136 if (msymbol.
minsym != NULL)
1151 char *funname = NULL;
1154 struct cleanup *old_chain, *list_chain;
1195 funlang, DMGL_ANSI);
1205 struct cleanup *args_list_chain;
1234 const char *filename_display;
1255 if (pc_p && (funname == NULL || sal.
symtab == NULL))
1284 int *selected_frame_p)
1287 struct value *args[4];
1290 if (frame_exp == NULL)
1308 *p && !isspace (*p);
1310 addr_string =
savestring (frame_exp, p - frame_exp);
1320 if (numargs >= ARRAY_SIZE (args))
1321 error (
_(
"Too many args in frame specification"));
1331 if (selected_frame_p != NULL)
1332 (*selected_frame_p) = 1;
1337 if (selected_frame_p != NULL)
1338 (*selected_frame_p) = 0;
1357 for (i = 0; i < numargs; i++)
1398 else if (numargs == 2)
1401 error (
_(
"Too many args in frame specification"));
1422 const char *funname = 0;
1424 const char *pc_regname;
1425 int selected_frame_p;
1426 struct gdbarch *gdbarch;
1432 int caller_pc_p = 0;
1470 funname = func_only;
1475 else if (frame_pc_p)
1480 if (msymbol.minsym != NULL)
1510 DMGL_ANSI | DMGL_PARAMS);
1546 if (calling_frame_info == NULL)
1551 if (reason != UNWIND_NO_REASON)
1607 else if (numargs == 1)
1652 &optimized, &unavailable, &lval, &addr,
1654 if (!optimized && !unavailable && lval ==
not_lval)
1662 &optimized, &unavailable, &lval, &addr,
1673 else if (!optimized && !unavailable && lval ==
lval_memory)
1680 else if (!optimized && !unavailable && lval ==
lval_register)
1692 for (i = 0; i < numregs; i++)
1699 &lval, &addr, &realnum, NULL);
1702 if (!optimized && !unavailable && lval ==
lval_memory)
1715 if (count || need_nl)
1733 int trailing_level, py_start = 0, py_end = 0;
1757 while (current && count--)
1813 if (!strcmp (print_frame_arguments,
"scalars"))
1815 else if (!strcmp (print_frame_arguments,
"all"))
1829 for (i = 0, fi = trailing; fi && count--; i++, fi =
get_prev_frame (fi))
1850 warning (
_(
"Unable to restore previously selected frame."));
1865 if (fi == NULL && trailing != NULL)
1870 if (reason >= UNWIND_FIRST_ERROR)
1881 int fulltrace_arg = -1, arglen = 0, argc = 0, no_filters = -1;
1892 for (i = 0; argv[i]; i++)
1896 for (j = 0; j < strlen (argv[i]); j++)
1897 argv[i][j] = tolower (argv[i][j]);
1904 fulltrace_arg = argc;
1908 arglen += strlen (argv[i]);
1914 if (fulltrace_arg >= 0 || no_filters >= 0)
1921 for (i = 0; i < argc; i++)
1923 if (i != fulltrace_arg && i != no_filters)
1925 strcat (arg, argv[i]);
1936 no_filters >= 0 , from_tty);
1985 print_block_frame_labels (
struct gdbarch *gdbarch,
struct block *b,
1986 int *have_default,
struct ui_file *stream)
1990 int values_printed = 0;
2009 if (opts.addressprint)
2016 sal.symtab->filename, sal.line);
2020 return values_printed;
2068 warning (
_(
"Unable to restore previously selected frame."));
2096 _(
"PC unavailable, cannot determine locals.\n"));
2140 struct symbol *sym, *sym2;
2229 const struct block *
2252 while (*level_offset_ptr > 0)
2258 (*level_offset_ptr)--;
2263 while (*level_offset_ptr < 0)
2269 (*level_offset_ptr)++;
2313 if (count != 0 && count_exp == NULL)
2314 error (
_(
"Initial frame selected; you cannot go up."));
2344 if (count != 0 && count_exp == NULL)
2351 error (
_(
"Bottom (innermost) frame selected; you cannot go down."));
2377 struct gdbarch *gdbarch;
2379 struct value *return_value = NULL;
2380 struct value *
function = NULL;
2381 const char *query_prefix =
"";
2388 error (
_(
"Can not force return from an inlined function."));
2398 struct type *return_type = NULL;
2406 if (thisfun != NULL)
2408 if (return_type == NULL)
2411 && retval_expr->
elts[0].
opcode != UNOP_CAST_TYPE)
2412 error (
_(
"Return value type not available for selected "
2414 "Please use an explicit cast of the value to return."));
2419 return_value =
value_cast (return_type, return_value);
2426 if (thisfun != NULL)
2436 return_value = NULL;
2437 else if (thisfun != NULL)
2443 query_prefix =
"The location at which to store the "
2444 "function's return value is unknown.\n"
2445 "If you continue, the return value "
2446 "that you specified will be ignored.\n";
2447 return_value = NULL;
2459 if (thisfun == NULL)
2460 confirmed =
query (
_(
"%sMake selected stack frame return now? "),
2465 warning (
_(
"Function does not return normally to caller."));
2466 confirmed =
query (
_(
"%sMake %s return now? "), query_prefix,
2470 error (
_(
"Not confirmed"));
2477 if (return_value != NULL)
2529 for (i = 0; (i < sals.
nelts && !found); i++)
2532 func_bounds[i].
low = func_bounds[i].
high = 0;
2533 else if (sals.
sals[i].
pc == 0
2535 &func_bounds[i].
low,
2536 &func_bounds[i].
high) == 0)
2538 func_bounds[i].
low = func_bounds[i].
high = 0;
2544 for (i = 0; (i < sals.
nelts && !found); i++)
2553 while (!found && level == 0);
2616 Make selected stack frame return to its caller.\n\
2617 Control remains in the debugger, but when you continue\n\
2618 execution will resume in the frame above the one now selected.\n\
2619 If an argument is given, it is an expression for the value to return."));
2622 Select and print stack frame that called this one.\n\
2623 An argument says how many frames up to go."));
2625 Same as the `up' command, but does not print anything.\n\
2626 This is useful in command scripts."));
2629 Select and print stack frame called by this one.\n\
2630 An argument says how many frames down to go."));
2634 Same as the `down' command, but does not print anything.\n\
2635 This is useful in command scripts."));
2638 Select and print a stack frame.\nWith no argument, \
2639 print the selected stack frame. (See also \"info frame\").\n\
2640 An argument specifies the frame to select.\n\
2641 It can be a stack frame number or the address of the frame.\n\
2642 With argument, nothing is printed if input is coming from\n\
2643 a command file or a user-defined command."));
2648 Select a stack frame without printing anything.\n\
2649 An argument specifies the frame to select.\n\
2650 It can be a stack frame number or the address of the frame.\n"));
2653 Print backtrace of all stack frames, or innermost COUNT frames.\n\
2654 With a negative argument, print outermost -COUNT frames.\nUse of the \
2655 'full' qualifier also prints the values of the local variables.\n\
2656 Use of the 'no-filters' qualifier prohibits frame filters from executing\n\
2657 on this backtrace.\n"));
2662 _(
"Backtrace of the stack, or innermost COUNT frames."));
2665 _(
"All about selected stack frame, or frame at ADDR."));
2668 _(
"Local variables of current stack frame."));
2670 _(
"Argument variables of current stack frame."));
2674 Select the stack frame that contains <func>.\n\
2675 Usage: func <name>\n"));
2678 print_frame_arguments_choices, &print_frame_arguments,
2679 _(
"Set printing of non-scalar frame arguments"),
2680 _(
"Show printing of non-scalar frame arguments"),
2684 &print_raw_frame_arguments,
_(
"\
2685 Set whether to print frame arguments in raw form."),
_(
"\
2686 Show whether to print frame arguments in raw form."),
_(
"\
2687 If set, frame arguments are printed in raw form, bypassing any\n\
2688 pretty-printers for that value."),
2693 &disassemble_next_line,
_(
"\
2694 Set whether to disassemble next source line or insn when execution stops."),
2696 Show whether to disassemble next source line or insn when execution stops."),
2698 If ON, GDB will display disassembly of the next source line, in addition\n\
2699 to displaying the source line itself. If the next source line cannot\n\
2700 be displayed (e.g., source is unavailable or there's no line info), GDB\n\
2701 will display disassembly of next instruction instead of showing the\n\
2703 If AUTO, display disassembly of next instruction only if the source line\n\
2704 cannot be displayed.\n\
2705 If OFF (which is the default), never display the disassembly of the next\n\
2713 print_entry_values_choices, &print_entry_values,
2714 _(
"Set printing of function arguments at function "
2716 _(
"Show printing of function arguments at function "
2719 GDB can sometimes determine the values of function arguments at entry,\n\
2720 in addition to their current values. This option tells GDB whether\n\
2721 to print the current value, the value at entry (marked as val@entry),\n\
2722 or both. Note that one or both of these values may be <optimized out>."),
struct frame_info * frame_find_by_id(struct frame_id id)
struct cleanup * make_cleanup_freeargv(char **arg)
CORE_ADDR get_last_displayed_addr(void)
int get_frame_address_in_block_if_available(struct frame_info *this_frame, CORE_ADDR *pc)
void annotate_frame_function_name(void)
union exp_element elts[1]
ULONGEST extract_unsigned_integer(const gdb_byte *, int, enum bfd_endian)
static void show_disassemble_next_line(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
void return_command(char *retval_exp, int from_tty)
const char * symtab_to_filename_for_display(struct symtab *symtab)
void fprintf_symbol_filtered(struct ui_file *stream, const char *name, enum language lang, int arg_mode)
void(* iterate_over_block_arg_local_vars_cb)(const char *print_name, struct symbol *sym, void *cb_data)
CORE_ADDR get_frame_address_in_block(struct frame_info *this_frame)
void annotate_frame_source_file_end(void)
static void down_silently_base(const char *count_exp)
struct frame_info * get_selected_frame(const char *message)
void read_frame_arg(struct symbol *sym, struct frame_info *frame, struct frame_arg *argp, struct frame_arg *entryargp)
CORE_ADDR get_frame_pc(struct frame_info *frame)
#define SYMBOL_PRINT_NAME(symbol)
void ui_out_wrap_hint(struct ui_out *uiout, char *identstring)
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)
static const char * print_frame_arguments
#define MSYMBOL_LANGUAGE(symbol)
struct frame_info * get_current_frame(void)
static void iterate_over_block_locals(const struct block *b, iterate_over_block_arg_local_vars_cb cb, void *cb_data)
struct frame_info * get_prev_frame(struct frame_info *this_frame)
struct gdbarch * get_regcache_arch(const struct regcache *regcache)
LONGEST value_as_long(struct value *val)
void frame_pop(struct frame_info *this_frame)
CORE_ADDR frame_unwind_caller_pc(struct frame_info *this_frame)
void add_setshow_enum_cmd(const char *name, enum command_class theclass, const char *const *enumlist, const char **var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_sfunc_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, struct cmd_list_element **show_list)
#define BMSYMBOL_VALUE_ADDRESS(symbol)
static void print_frame_args(struct symbol *func, struct frame_info *frame, int num, struct ui_file *stream)
void warning(const char *fmt,...)
void annotate_signal_handler_caller(void)
int query(const char *ctlstr,...)
static void backtrace_command_1(char *count_exp, int show_locals, int no_filters, int from_tty)
void annotate_arg_begin(void)
void args_info(char *ignore, int from_tty)
const char * frame_stop_reason_string(struct frame_info *fi)
struct ui_file * gdb_stdout
void val_print_unavailable(struct ui_file *stream)
void common_val_print(struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options, const struct language_defn *language)
static const char *const print_entry_values_choices[]
void select_frame(struct frame_info *fi)
#define SYMBOL_CLASS(symbol)
void internal_error(const char *file, int line, const char *fmt,...)
const struct language_defn * language_def(enum language lang)
int ui_out_is_mi_like_p(struct ui_out *uiout)
int get_frame_pc_if_available(struct frame_info *frame, CORE_ADDR *pc)
int identify_source_line(struct symtab *s, int line, int mid_statement, CORE_ADDR pc)
static enum auto_boolean disassemble_next_line
const char print_entry_values_only[]
void find_frame_funname(struct frame_info *frame, char **funname, enum language *funlang, struct symbol **funcp)
struct value * coerce_ref(struct value *arg)
struct value * read_var_value(struct symbol *var, struct frame_info *frame)
void read_frame_local(struct symbol *sym, struct frame_info *frame, struct frame_arg *argp)
#define TYPE_NO_RETURN(thistype)
void(* deprecated_print_frame_info_listing_hook)(struct symtab *s, int line, int stopline, int noerror)
void get_no_prettyformat_print_options(struct value_print_options *opts)
int gdbarch_num_regs(struct gdbarch *gdbarch)
void print_variable_and_value(const char *name, struct symbol *var, struct frame_info *frame, struct ui_file *stream, int indent)
struct reggroup *const all_reggroup
static void func_command(char *arg, int from_tty)
void annotate_arg_value(struct type *type)
static int print_raw_frame_arguments
CORE_ADDR get_frame_locals_address(struct frame_info *fi)
void locals_info(char *args, int from_tty)
struct regcache * get_current_regcache(void)
void get_last_displayed_sal(struct symtab_and_line *sal)
void ui_out_text(struct ui_out *uiout, const char *string)
void printf_filtered(const char *format,...)
const char * paddress(struct gdbarch *gdbarch, CORE_ADDR addr)
static void frame_info(char *addr_exp, int from_tty)
#define BLOCK_FUNCTION(bl)
struct cmd_list_element * showprintrawlist
const char * symtab_to_fullname(struct symtab *s)
struct compunit_symtab * find_pc_compunit_symtab(CORE_ADDR pc)
static void print_frame_local_vars(struct frame_info *, int, struct ui_file *)
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
int gdbarch_num_pseudo_regs(struct gdbarch *gdbarch)
static void down_silently_command(char *count_exp, int from_tty)
void null_cleanup(void *arg)
struct value * evaluate_expression(struct expression *exp)
#define MSYMBOL_PRINT_NAME(symbol)
int frame_id_eq(struct frame_id l, struct frame_id r)
void find_frame_sal(struct frame_info *frame, struct symtab_and_line *sal)
struct cmd_list_element * setlist
static void print_frame_arg_vars(struct frame_info *frame, struct ui_file *stream)
void annotate_frame_address(void)
void add_setshow_auto_boolean_cmd(const char *name, enum command_class theclass, enum auto_boolean *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_sfunc_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, struct cmd_list_element **show_list)
enum frame_type get_frame_type(struct frame_info *frame)
void annotate_frame_args(void)
void annotate_frame_source_file(void)
struct frame_id get_frame_id(struct frame_info *fi)
static struct frame_info * parse_frame_specification(char *frame_exp)
LONGEST read_memory_integer(CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
#define SYMBOL_VALUE_ADDRESS(symbol)
const gdb_byte * value_contents(struct value *value)
#define CATCH(EXCEPTION, MASK)
void expand_symtab_containing_pc(CORE_ADDR pc, struct obj_section *section)
#define SYMBOL_DOMAIN(symbol)
struct symtab_and_line find_pc_line(CORE_ADDR pc, int notcurrent)
struct cleanup * make_cleanup_ui_out_list_begin_end(struct ui_out *uiout, const char *id)
int value_lazy(struct value *value)
int gdbarch_sp_regnum(struct gdbarch *gdbarch)
struct cleanup * make_cleanup_ui_out_tuple_begin_end(struct ui_out *uiout, const char *id)
int inline_skipped_frames(ptid_t ptid)
char * cp_remove_params(const char *demangled_name)
static CORE_ADDR last_displayed_addr
const char print_entry_values_if_needed[]
enum unwind_stop_reason get_frame_unwind_stop_reason(struct frame_info *frame)
void fprintf_filtered(struct ui_file *stream, const char *format,...)
void select_frame_command(char *level_exp, int from_tty)
void annotate_frame_source_end(void)
const char * skip_spaces_const(const char *chp)
struct cmd_list_element * setprintrawlist
const struct block * get_frame_block(struct frame_info *frame, CORE_ADDR *addr_in_block)
const struct block * get_selected_block(CORE_ADDR *addr_in_block)
static void up_silently_base(const char *count_exp)
struct cmd_list_element * showlist
void exception_print(struct ui_file *file, struct gdb_exception e)
struct cmd_list_element * add_com_alias(const char *name, const char *oldname, enum command_class theclass, int abbrev_flag)
void fputs_filtered(const char *linebuffer, struct ui_file *stream)
void puts_filtered(const char *string)
void print_frame_info(struct frame_info *frame, int print_level, enum print_what print_what, int print_args, int set_current_sal)
static void select_and_print_frame(struct frame_info *frame)
struct symbol * get_frame_function(struct frame_info *frame)
#define SYMBOL_COMPUTED_OPS(symbol)
enum bfd_endian gdbarch_byte_order(struct gdbarch *gdbarch)
void iterate_over_block_local_vars(const struct block *block, iterate_over_block_arg_local_vars_cb cb, void *cb_data)
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
struct frame_info * deprecated_safe_get_selected_frame(void)
char * solib_name_from_address(struct program_space *pspace, CORE_ADDR address)
const char * language_str(enum language lang)
int find_pc_partial_function(CORE_ADDR pc, const char **name, CORE_ADDR *address, CORE_ADDR *endaddr)
#define BLOCK_SUPERBLOCK(bl)
enum language get_frame_language(void)
struct cmd_list_element * add_info(const char *name, cmd_cfunc_ftype *fun, const char *doc)
enum return_value_convention gdbarch_return_value(struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
struct program_space * get_last_displayed_pspace(void)
void print_source_lines(struct symtab *s, int line, int stopline, enum print_source_lines_flags flags)
struct frame_info * find_relative_frame(struct frame_info *frame, int *level_offset_ptr)
#define SYMBOL_LINKAGE_NAME(symbol)
const char * gdbarch_register_name(struct gdbarch *gdbarch, int regnr)
static int last_displayed_line
struct value * value_cast(struct type *type, struct value *arg2)
struct frame_info * create_new_frame(CORE_ADDR addr, CORE_ADDR pc)
static void print_frame_nameless_args(struct frame_info *frame, long start, int num, int first, struct ui_file *stream)
CORE_ADDR get_frame_args_address(struct frame_info *fi)
struct cmd_list_element * setprintlist
void wrap_here(char *indent)
const char print_entry_values_preferred[]
enum return_value_convention struct_return_convention(struct gdbarch *gdbarch, struct value *function, struct type *value_type)
int get_last_displayed_line(void)
static void print_frame_arg(const struct frame_arg *arg)
void _initialize_stack(void)
struct ui_file * mem_fileopen(void)
static void up_command(char *count_exp, int from_tty)
struct expression * parse_expression(const char *)
static struct program_space * last_displayed_pspace
#define SYMBOL_VALUE(symbol)
void gdb_disassembly(struct gdbarch *gdbarch, struct ui_out *uiout, char *file_string, int flags, int how_many, CORE_ADDR low, CORE_ADDR high)
struct symtab * get_last_displayed_symtab(void)
CORE_ADDR gdbarch_frame_args_skip(struct gdbarch *gdbarch)
static int last_displayed_sal_valid
void annotate_frame_begin(int level, struct gdbarch *gdbarch, CORE_ADDR pc)
static void print_args(struct field *args, int nargs, int spaces)
void throw_exception(struct gdb_exception exception)
const char const char int
struct frame_info * get_next_frame(struct frame_info *this_frame)
int block_inlined_p(const struct block *bl)
static void print_frame(struct frame_info *frame, int print_level, enum print_what print_what, int print_args, struct symtab_and_line sal)
int value_contents_eq(const struct value *val1, int offset1, const struct value *val2, int offset2, int length)
const struct language_defn * current_language
int value_optimized_out(struct value *value)
struct obj_section * find_pc_mapped_section(CORE_ADDR pc)
int last_displayed_sal_is_valid(void)
#define TYPE_TARGET_TYPE(thistype)
void annotate_arg_end(void)
void value_fetch_lazy(struct value *val)
struct bound_minimal_symbol lookup_minimal_symbol_by_pc(CORE_ADDR pc)
int gdbarch_register_reggroup_p(struct gdbarch *gdbarch, int regnum, struct reggroup *reggroup)
static void frame_command(char *level_exp, int from_tty)
struct cleanup * make_cleanup_ui_file_delete(struct ui_file *arg)
void annotate_frame_end(void)
int frame_relative_level(struct frame_info *fi)
#define SYMBOL_BLOCK_VALUE(symbol)
#define TYPE_CODE(thistype)
CORE_ADDR get_frame_base(struct frame_info *fi)
void annotate_frame_source_begin(void)
void annotate_frame_address_end(void)
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)
static struct symtab * last_displayed_symtab
struct ui_file * gdb_stderr
struct minimal_symbol * minsym
struct program_space * pspace
struct symbol * lookup_symbol(const char *name, const struct block *block, domain_enum domain, struct field_of_this_result *is_a_field_of_this)
void get_user_print_options(struct value_print_options *opts)
struct symtab_and_line set_current_source_symtab_and_line(const struct symtab_and_line *sal)
enum language compunit_language(const struct compunit_symtab *cust)
#define SYMBOL_LANGUAGE(symbol)
#define DISASSEMBLY_RAW_INSN
char ** gdb_buildargv(const char *s)
void annotate_frame_source_line(void)
static void up_silently_command(char *count_exp, int from_tty)
#define CHECK_TYPEDEF(TYPE)
struct cmd_list_element * showprintlist
const char print_entry_values_default[]
const char print_entry_values_no[]
void frame_register_unwind(struct frame_info *frame, int regnum, int *optimizedp, int *unavailablep, enum lval_type *lvalp, CORE_ADDR *addrp, int *realnump, gdb_byte *bufferp)
static const char *const print_frame_arguments_choices[]
struct cmd_list_element * add_info_alias(const char *name, const char *oldname, int abbrev_flag)
const char * print_entry_values
static void set_last_displayed_sal(int valid, struct program_space *pspace, CORE_ADDR addr, struct symtab *symtab, int line)
struct program_space * current_program_space
struct symtabs_and_lines decode_line_with_current_source(char *string, int flags)
void ui_out_field_core_addr(struct ui_out *uiout, const char *fldname, struct gdbarch *gdbarch, CORE_ADDR address)
void annotate_frame_where(void)
struct value * parse_and_eval(const char *exp)
static int ignore(struct target_ops *ops, struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
struct value *(* read_variable_at_entry)(struct symbol *symbol, struct frame_info *frame)
char * savestring(const char *ptr, size_t len)
int register_size(struct gdbarch *gdbarch, int regnum)
static int frame_show_address(struct frame_info *frame, struct symtab_and_line sal)
void ui_out_field_fmt_int(struct ui_out *uiout, int input_width, enum ui_align input_align, const char *fldname, int value)
void iterate_over_block_arg_vars(const struct block *b, iterate_over_block_arg_local_vars_cb cb, void *cb_data)
void annotate_function_call(void)
struct type * value_type(const struct value *value)
#define SYMBOL_TYPE(symbol)
void annotate_arg_name_end(void)
int gdbarch_pc_regnum(struct gdbarch *gdbarch)
CORE_ADDR value_as_address(struct value *val)
struct frame_id frame_id_build_wild(CORE_ADDR stack_addr)
void ui_out_field_string(struct ui_out *uiout, const char *fldname, const char *string)
struct symtab_and_line * sals
#define TYPE_LENGTH(thistype)
static void do_gdb_disassembly(struct gdbarch *gdbarch, int how_many, CORE_ADDR low, CORE_ADDR high)
int subset_compare(char *string_to_compare, char *template_string)
static struct frame_info * parse_frame_specification_1(const char *frame_exp, const char *message, int *selected_frame_p)
void gdb_flush(struct ui_file *file)
struct ui_out * current_uiout
struct value * allocate_optimized_out_value(struct type *type)
const char print_entry_values_compact[]
static void backtrace_command(char *arg, int from_tty)
enum bfd_endian byte_order
void set_current_sal_from_frame(struct frame_info *frame)
int has_stack_frames(void)
struct program_space * get_frame_program_space(struct frame_info *frame)
int gdbarch_frame_num_args_p(struct gdbarch *gdbarch)
void error(const char *fmt,...)
void print_stack_frame(struct frame_info *frame, int print_level, enum print_what print_what, int set_current_sal)
static void down_command(char *count_exp, int from_tty)
struct cmd_list_element * add_com(const char *name, enum command_class theclass, cmd_cfunc_ftype *fun, const char *doc)
static void do_print_variable_and_value(const char *print_name, struct symbol *sym, void *cb_data)
#define ALL_BLOCK_SYMBOLS(block, iter, sym)
void val_print_not_saved(struct ui_file *stream)
struct gdbarch * get_frame_arch(struct frame_info *this_frame)
const char print_entry_values_both[]
int gdbarch_frame_num_args(struct gdbarch *gdbarch, struct frame_info *frame)
void do_cleanups(struct cleanup *old_chain)
void add_setshow_boolean_cmd(const char *name, enum command_class theclass, int *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_sfunc_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, struct cmd_list_element **show_list)
#define SYMBOL_IS_ARGUMENT(symbol)
void clear_last_displayed_sal(void)
LONGEST parse_and_eval_long(const char *exp)