GDB (xrefs)
Classes | Functions | Variables
/tmp/gdb-7.10/gdb/stack.c File Reference
#include "defs.h"
#include "value.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "expression.h"
#include "language.h"
#include "frame.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "target.h"
#include "source.h"
#include "breakpoint.h"
#include "demangle.h"
#include "inferior.h"
#include "annotate.h"
#include "ui-out.h"
#include "block.h"
#include "stack.h"
#include "dictionary.h"
#include "reggroups.h"
#include "regcache.h"
#include "solib.h"
#include "valprint.h"
#include "gdbthread.h"
#include "cp-support.h"
#include "disasm.h"
#include "inline-frame.h"
#include "linespec.h"
#include "cli/cli-utils.h"
#include "objfiles.h"
#include <ctype.h>
#include "symfile.h"
#include "extension.h"

Go to the source code of this file.

Classes

struct  print_variable_and_value_data
 
struct  function_bounds
 

Functions

static void print_frame_local_vars (struct frame_info *, int, struct ui_file *)
 
static void print_frame (struct frame_info *frame, int print_level, enum print_what print_what, int print_args, struct symtab_and_line sal)
 
static void set_last_displayed_sal (int valid, struct program_space *pspace, CORE_ADDR addr, struct symtab *symtab, int line)
 
static int frame_show_address (struct frame_info *frame, struct symtab_and_line sal)
 
void print_stack_frame (struct frame_info *frame, int print_level, enum print_what print_what, int set_current_sal)
 
static void print_frame_nameless_args (struct frame_info *frame, long start, int num, int first, struct ui_file *stream)
 
static void print_frame_arg (const struct frame_arg *arg)
 
void read_frame_local (struct symbol *sym, struct frame_info *frame, struct frame_arg *argp)
 
void read_frame_arg (struct symbol *sym, struct frame_info *frame, struct frame_arg *argp, struct frame_arg *entryargp)
 
static void print_frame_args (struct symbol *func, struct frame_info *frame, int num, struct ui_file *stream)
 
void set_current_sal_from_frame (struct frame_info *frame)
 
static void show_disassemble_next_line (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void do_gdb_disassembly (struct gdbarch *gdbarch, int how_many, CORE_ADDR low, CORE_ADDR high)
 
void print_frame_info (struct frame_info *frame, int print_level, enum print_what print_what, int print_args, int set_current_sal)
 
void clear_last_displayed_sal (void)
 
int last_displayed_sal_is_valid (void)
 
struct program_spaceget_last_displayed_pspace (void)
 
CORE_ADDR get_last_displayed_addr (void)
 
struct symtabget_last_displayed_symtab (void)
 
int get_last_displayed_line (void)
 
void get_last_displayed_sal (struct symtab_and_line *sal)
 
void find_frame_funname (struct frame_info *frame, char **funname, enum language *funlang, struct symbol **funcp)
 
static void print_frame (struct frame_info *frame, int print_level, enum print_what print_what, int print_args, struct symtab_and_line sal)
 
static struct frame_infoparse_frame_specification_1 (const char *frame_exp, const char *message, int *selected_frame_p)
 
static struct frame_infoparse_frame_specification (char *frame_exp)
 
static void frame_info (char *addr_exp, int from_tty)
 
static void backtrace_command_1 (char *count_exp, int show_locals, int no_filters, int from_tty)
 
static void backtrace_command (char *arg, int from_tty)
 
static void iterate_over_block_locals (const struct block *b, iterate_over_block_arg_local_vars_cb cb, void *cb_data)
 
void iterate_over_block_local_vars (const struct block *block, iterate_over_block_arg_local_vars_cb cb, void *cb_data)
 
static void do_print_variable_and_value (const char *print_name, struct symbol *sym, void *cb_data)
 
void locals_info (char *args, int from_tty)
 
void iterate_over_block_arg_vars (const struct block *b, iterate_over_block_arg_local_vars_cb cb, void *cb_data)
 
static void print_frame_arg_vars (struct frame_info *frame, struct ui_file *stream)
 
void args_info (char *ignore, int from_tty)
 
static void select_and_print_frame (struct frame_info *frame)
 
const struct blockget_selected_block (CORE_ADDR *addr_in_block)
 
struct frame_infofind_relative_frame (struct frame_info *frame, int *level_offset_ptr)
 
void select_frame_command (char *level_exp, int from_tty)
 
static void frame_command (char *level_exp, int from_tty)
 
static void up_silently_base (const char *count_exp)
 
static void up_silently_command (char *count_exp, int from_tty)
 
static void up_command (char *count_exp, int from_tty)
 
static void down_silently_base (const char *count_exp)
 
static void down_silently_command (char *count_exp, int from_tty)
 
static void down_command (char *count_exp, int from_tty)
 
void return_command (char *retval_exp, int from_tty)
 
static void func_command (char *arg, int from_tty)
 
enum language get_frame_language (void)
 
void _initialize_stack (void)
 

Variables

static const char *const print_frame_arguments_choices []
 
static const char * print_frame_arguments = "scalars"
 
static int print_raw_frame_arguments
 
const char print_entry_values_no [] = "no"
 
const char print_entry_values_only [] = "only"
 
const char print_entry_values_preferred [] = "preferred"
 
const char print_entry_values_if_needed [] = "if-needed"
 
const char print_entry_values_both [] = "both"
 
const char print_entry_values_compact [] = "compact"
 
const char print_entry_values_default [] = "default"
 
static const char *const print_entry_values_choices []
 
const char * print_entry_values = print_entry_values_default
 
int annotation_level = 0
 
static int last_displayed_sal_valid = 0
 
static struct program_spacelast_displayed_pspace = 0
 
static CORE_ADDR last_displayed_addr = 0
 
static struct symtablast_displayed_symtab = 0
 
static int last_displayed_line = 0
 
static enum auto_boolean disassemble_next_line
 

Function Documentation

void _initialize_stack ( void  )
void args_info ( char *  ignore,
int  from_tty 
)

Definition at line 2206 of file stack.c.

References _, gdb_stdout, get_selected_frame(), and print_frame_arg_vars().

Referenced by _initialize_stack(), and trace_dump_actions().

static void backtrace_command ( char *  arg,
int  from_tty 
)
static
static void backtrace_command_1 ( char *  count_exp,
int  show_locals,
int  no_filters,
int  from_tty 
)
static
void clear_last_displayed_sal ( void  )
static void do_gdb_disassembly ( struct gdbarch gdbarch,
int  how_many,
CORE_ADDR  low,
CORE_ADDR  high 
)
static
static void do_print_variable_and_value ( const char *  print_name,
struct symbol sym,
void *  cb_data 
)
static
static void down_command ( char *  count_exp,
int  from_tty 
)
static

Definition at line 2364 of file stack.c.

References down_silently_base(), get_selected_frame(), print_stack_frame(), and SRC_AND_LOC.

Referenced by _initialize_stack().

static void down_silently_base ( const char *  count_exp)
static
static void down_silently_command ( char *  count_exp,
int  from_tty 
)
static

Definition at line 2358 of file stack.c.

References down_silently_base().

Referenced by _initialize_stack().

void find_frame_funname ( struct frame_info frame,
char **  funname,
enum language funlang,
struct symbol **  funcp 
)
struct frame_info* find_relative_frame ( struct frame_info frame,
int level_offset_ptr 
)
static void frame_command ( char *  level_exp,
int  from_tty 
)
static
static void frame_info ( char *  addr_exp,
int  from_tty 
)
static
static int frame_show_address ( struct frame_info frame,
struct symtab_and_line  sal 
)
static
static void func_command ( char *  arg,
int  from_tty 
)
static
enum language get_frame_language ( void  )
CORE_ADDR get_last_displayed_addr ( void  )

Definition at line 1000 of file stack.c.

References last_displayed_addr, and last_displayed_sal_valid.

Referenced by skip_function_command().

int get_last_displayed_line ( void  )
struct program_space* get_last_displayed_pspace ( void  )

Definition at line 990 of file stack.c.

References last_displayed_pspace, and last_displayed_sal_valid.

void get_last_displayed_sal ( struct symtab_and_line sal)
struct symtab* get_last_displayed_symtab ( void  )
const struct block* get_selected_block ( CORE_ADDR addr_in_block)
void iterate_over_block_arg_vars ( const struct block b,
iterate_over_block_arg_local_vars_cb  cb,
void *  cb_data 
)
void iterate_over_block_local_vars ( const struct block block,
iterate_over_block_arg_local_vars_cb  cb,
void *  cb_data 
)

Definition at line 2028 of file stack.c.

References BLOCK_FUNCTION, BLOCK_SUPERBLOCK, and iterate_over_block_locals().

Referenced by add_local_symbols(), and print_frame_local_vars().

static void iterate_over_block_locals ( const struct block b,
iterate_over_block_arg_local_vars_cb  cb,
void *  cb_data 
)
static
int last_displayed_sal_is_valid ( void  )
void locals_info ( char *  args,
int  from_tty 
)

Definition at line 2124 of file stack.c.

References _, gdb_stdout, get_selected_frame(), and print_frame_local_vars().

Referenced by _initialize_stack(), and trace_dump_actions().

static struct frame_info* parse_frame_specification ( char *  frame_exp)
static

Definition at line 1405 of file stack.c.

References parse_frame_specification_1().

Referenced by func_command().

static struct frame_info* parse_frame_specification_1 ( const char *  frame_exp,
const char *  message,
int selected_frame_p 
)
static
static void print_frame ( struct frame_info frame,
int  print_level,
enum print_what  print_what,
int  print_args,
struct symtab_and_line  sal 
)
static

Referenced by print_frame_info().

static void print_frame ( struct frame_info frame,
int  print_level,
enum print_what  print_what,
int  print_args,
struct symtab_and_line  sal 
)
static
static void print_frame_arg ( const struct frame_arg arg)
static
static void print_frame_arg_vars ( struct frame_info frame,
struct ui_file stream 
)
static
static void print_frame_args ( struct symbol func,
struct frame_info frame,
int  num,
struct ui_file stream 
)
static
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 print_frame_local_vars ( struct frame_info frame,
int  num_tabs,
struct ui_file stream 
)
static
static void print_frame_nameless_args ( struct frame_info frame,
long  start,
int  num,
int  first,
struct ui_file stream 
)
static
void print_stack_frame ( struct frame_info frame,
int  print_level,
enum print_what print_what  ,
int  set_current_sal 
)
void read_frame_arg ( struct symbol sym,
struct frame_info frame,
struct frame_arg argp,
struct frame_arg entryargp 
)
void read_frame_local ( struct symbol sym,
struct frame_info frame,
struct frame_arg argp 
)
void return_command ( char *  retval_exp,
int  from_tty 
)
static void select_and_print_frame ( struct frame_info frame)
static

Definition at line 2215 of file stack.c.

References print_stack_frame(), select_frame(), and SRC_AND_LOC.

Referenced by func_command().

void select_frame_command ( char *  level_exp,
int  from_tty 
)
void set_current_sal_from_frame ( struct frame_info frame)
static void set_last_displayed_sal ( int  valid,
struct program_space pspace,
CORE_ADDR  addr,
struct symtab symtab,
int  line 
)
static
static void show_disassemble_next_line ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Definition at line 749 of file stack.c.

References _, and fprintf_filtered().

Referenced by _initialize_stack().

static void up_command ( char *  count_exp,
int  from_tty 
)
static

Definition at line 2325 of file stack.c.

References get_selected_frame(), print_stack_frame(), SRC_AND_LOC, and up_silently_base().

Referenced by _initialize_stack().

static void up_silently_base ( const char *  count_exp)
static
static void up_silently_command ( char *  count_exp,
int  from_tty 
)
static

Definition at line 2319 of file stack.c.

References up_silently_base().

Referenced by _initialize_stack().

Variable Documentation

int annotation_level = 0

Definition at line 109 of file stack.c.

Referenced by annotate_arg_begin(), annotate_arg_end(), annotate_arg_name_end(), annotate_arg_value(), annotate_array_section_begin(), annotate_array_section_end(), annotate_breakpoint(), annotate_breakpoints_headers(), annotate_breakpoints_invalid(), annotate_breakpoints_table(), annotate_breakpoints_table_end(), annotate_catchpoint(), annotate_display_begin(), annotate_display_end(), annotate_display_expression(), annotate_display_expression_end(), annotate_display_format(), annotate_display_number_end(), annotate_display_value(), annotate_elt(), annotate_elt_rep(), annotate_elt_rep_end(), annotate_error(), annotate_error_begin(), annotate_exited(), annotate_field(), annotate_field_begin(), annotate_field_end(), annotate_field_name_end(), annotate_field_value(), annotate_frame_address(), annotate_frame_address_end(), annotate_frame_args(), annotate_frame_begin(), annotate_frame_end(), annotate_frame_function_name(), annotate_frame_source_begin(), annotate_frame_source_end(), annotate_frame_source_file(), annotate_frame_source_file_end(), annotate_frame_source_line(), annotate_frame_where(), annotate_frames_invalid(), annotate_function_call(), annotate_new_thread(), annotate_quit(), annotate_record(), annotate_signal(), annotate_signal_handler_caller(), annotate_signal_name(), annotate_signal_name_end(), annotate_signal_string(), annotate_signal_string_end(), annotate_signalled(), annotate_source(), annotate_starting(), annotate_stopped(), annotate_thread_changed(), annotate_value_begin(), annotate_value_end(), annotate_value_history_begin(), annotate_value_history_end(), annotate_value_history_value(), annotate_watchpoint(), ATTRIBUTE_PRINTF(), captured_main(), command_line_handler(), command_line_input(), init_main(), line_info(), print_frame_info(), prompt_for_continue(), and top_level_prompt().

enum auto_boolean disassemble_next_line
static

Definition at line 746 of file stack.c.

Referenced by _initialize_stack(), and print_frame_info().

CORE_ADDR last_displayed_addr = 0
static
int last_displayed_line = 0
static
struct program_space* last_displayed_pspace = 0
static

Definition at line 114 of file stack.c.

Referenced by get_last_displayed_pspace(), and get_last_displayed_sal().

int last_displayed_sal_valid = 0
static
struct symtab* last_displayed_symtab = 0
static

Definition at line 116 of file stack.c.

Referenced by get_last_displayed_sal(), and get_last_displayed_symtab().

const char* print_entry_values = print_entry_values_default

Definition at line 86 of file stack.c.

Referenced by _initialize_stack(), and read_frame_arg().

const char print_entry_values_both[] = "both"

Definition at line 72 of file stack.c.

Referenced by read_frame_arg().

const char* const print_entry_values_choices[]
static
Initial value:
=
{
NULL
}
const char print_entry_values_only[]
Definition: stack.c:69
const char print_entry_values_if_needed[]
Definition: stack.c:71
const char print_entry_values_preferred[]
Definition: stack.c:70
const char print_entry_values_default[]
Definition: stack.c:74
const char print_entry_values_no[]
Definition: stack.c:68
const char print_entry_values_compact[]
Definition: stack.c:73
const char print_entry_values_both[]
Definition: stack.c:72

Definition at line 75 of file stack.c.

Referenced by _initialize_stack().

const char print_entry_values_compact[] = "compact"

Definition at line 73 of file stack.c.

Referenced by print_frame_arg(), py_print_single_arg(), and read_frame_arg().

const char print_entry_values_default[] = "default"

Definition at line 74 of file stack.c.

Referenced by read_frame_arg().

const char print_entry_values_if_needed[] = "if-needed"

Definition at line 71 of file stack.c.

Referenced by read_frame_arg().

const char print_entry_values_no[] = "no"
const char print_entry_values_only[] = "only"
const char print_entry_values_preferred[] = "preferred"

Definition at line 70 of file stack.c.

Referenced by read_frame_arg().

const char* print_frame_arguments = "scalars"
static

Definition at line 60 of file stack.c.

Referenced by _initialize_stack(), backtrace_command_1(), print_frame_arg(), and print_frame_args().

const char* const print_frame_arguments_choices[]
static
Initial value:
=
{"all", "scalars", "none", NULL}

Definition at line 58 of file stack.c.

Referenced by _initialize_stack().

int print_raw_frame_arguments
static

Definition at line 63 of file stack.c.

Referenced by _initialize_stack(), and print_frame_arg().