GDB (API)
Classes | Defines | Enumerations | Functions | Variables
/home/stan/gdb/src/gdb/frame.h File Reference
#include "unwind_stop_reasons.def"

Go to the source code of this file.

Classes

struct  frame_id
struct  frame_arg

Defines

#define SET(name, description)   name,
#define FIRST_ENTRY(name)   UNWIND_FIRST = name,
#define LAST_ENTRY(name)   UNWIND_LAST = name,
#define FIRST_ERROR(name)   UNWIND_FIRST_ERROR = name,
#define FRAME_OBSTACK_ZALLOC(TYPE)   ((TYPE *) frame_obstack_zalloc (sizeof (TYPE)))
#define FRAME_OBSTACK_CALLOC(NUMBER, TYPE)   ((TYPE *) frame_obstack_zalloc ((NUMBER) * sizeof (TYPE)))

Enumerations

enum  frame_type {
  NORMAL_FRAME, DUMMY_FRAME, INLINE_FRAME, TAILCALL_FRAME,
  SIGTRAMP_FRAME, ARCH_FRAME, SENTINEL_FRAME
}
enum  unwind_stop_reason
enum  print_what { SRC_LINE = -1, LOCATION, SRC_AND_LOC, LOC_AND_ADDRESS }

Functions

struct frame_id frame_id_build (CORE_ADDR stack_addr, CORE_ADDR code_addr)
struct frame_id frame_id_build_special (CORE_ADDR stack_addr, CORE_ADDR code_addr, CORE_ADDR special_addr)
struct frame_id frame_id_build_wild (CORE_ADDR stack_addr)
int frame_id_p (struct frame_id l)
int frame_id_artificial_p (struct frame_id l)
int frame_id_eq (struct frame_id l, struct frame_id r)
void fprint_frame_id (struct ui_file *file, struct frame_id id)
struct frame_info * get_current_frame (void)
int has_stack_frames (void)
void reinit_frame_cache (void)
struct frame_info * get_selected_frame (const char *message)
struct frame_info * get_selected_frame_if_set (void)
void select_frame (struct frame_info *)
struct frame_info * get_prev_frame (struct frame_info *)
struct frame_info * get_next_frame (struct frame_info *)
struct frame_info * frame_find_by_id (struct frame_id id)
CORE_ADDR get_frame_pc (struct frame_info *)
int get_frame_pc_if_available (struct frame_info *frame, CORE_ADDR *pc)
CORE_ADDR get_frame_address_in_block (struct frame_info *this_frame)
int get_frame_address_in_block_if_available (struct frame_info *this_frame, CORE_ADDR *pc)
CORE_ADDR get_frame_sp (struct frame_info *)
CORE_ADDR get_frame_func (struct frame_info *fi)
int get_frame_func_if_available (struct frame_info *fi, CORE_ADDR *)
void find_frame_sal (struct frame_info *frame, struct symtab_and_line *sal)
void set_current_sal_from_frame (struct frame_info *, int)
CORE_ADDR get_frame_base (struct frame_info *)
struct frame_id get_frame_id (struct frame_info *fi)
struct frame_id get_stack_frame_id (struct frame_info *fi)
struct frame_id frame_unwind_caller_id (struct frame_info *next_frame)
CORE_ADDR get_frame_base_address (struct frame_info *)
CORE_ADDR get_frame_locals_address (struct frame_info *)
CORE_ADDR get_frame_args_address (struct frame_info *)
int frame_relative_level (struct frame_info *fi)
enum frame_type get_frame_type (struct frame_info *)
struct program_spaceget_frame_program_space (struct frame_info *)
struct program_spaceframe_unwind_program_space (struct frame_info *)
struct address_space * get_frame_address_space (struct frame_info *)
 SET (UNWIND_UNAVAILABLE,"not enough registers or memory available to unwind further")
enum unwind_stop_reason get_frame_unwind_stop_reason (struct frame_info *)
const char * frame_stop_reason_string (enum unwind_stop_reason)
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 *valuep)
void frame_unwind_register (struct frame_info *frame, int regnum, gdb_byte *buf)
void get_frame_register (struct frame_info *frame, int regnum, gdb_byte *buf)
struct value * frame_unwind_register_value (struct frame_info *frame, int regnum)
struct value * get_frame_register_value (struct frame_info *frame, int regnum)
LONGEST frame_unwind_register_signed (struct frame_info *frame, int regnum)
LONGEST get_frame_register_signed (struct frame_info *frame, int regnum)
ULONGEST frame_unwind_register_unsigned (struct frame_info *frame, int regnum)
ULONGEST get_frame_register_unsigned (struct frame_info *frame, int regnum)
int read_frame_register_unsigned (struct frame_info *frame, int regnum, ULONGEST *val)
void frame_register (struct frame_info *frame, int regnum, int *optimizedp, int *unavailablep, enum lval_type *lvalp, CORE_ADDR *addrp, int *realnump, gdb_byte *valuep)
void put_frame_register (struct frame_info *frame, int regnum, const gdb_byte *buf)
int get_frame_register_bytes (struct frame_info *frame, int regnum, CORE_ADDR offset, int len, gdb_byte *myaddr, int *optimizedp, int *unavailablep)
void put_frame_register_bytes (struct frame_info *frame, int regnum, CORE_ADDR offset, int len, const gdb_byte *myaddr)
CORE_ADDR frame_unwind_caller_pc (struct frame_info *frame)
int frame_unwind_caller_pc_if_available (struct frame_info *this_frame, CORE_ADDR *pc)
void frame_pop (struct frame_info *frame)
void get_frame_memory (struct frame_info *this_frame, CORE_ADDR addr, gdb_byte *buf, int len)
LONGEST get_frame_memory_signed (struct frame_info *this_frame, CORE_ADDR memaddr, int len)
ULONGEST get_frame_memory_unsigned (struct frame_info *this_frame, CORE_ADDR memaddr, int len)
int safe_frame_unwind_memory (struct frame_info *this_frame, CORE_ADDR addr, gdb_byte *buf, int len)
struct gdbarch * get_frame_arch (struct frame_info *this_frame)
struct gdbarch * frame_unwind_arch (struct frame_info *frame)
struct gdbarch * frame_unwind_caller_arch (struct frame_info *frame)
void * frame_obstack_zalloc (unsigned long size)
struct regcache * frame_save_as_regcache (struct frame_info *this_frame)
struct blockget_frame_block (struct frame_info *, CORE_ADDR *addr_in_block)
struct blockget_selected_block (CORE_ADDR *addr_in_block)
struct symbolget_frame_function (struct frame_info *)
CORE_ADDR get_pc_function_start (CORE_ADDR)
struct frame_info * find_relative_frame (struct frame_info *, int *)
void print_stack_frame (struct frame_info *, int print_level, enum print_what print_what, int set_current_sal)
void print_frame_info (struct frame_info *, int print_level, enum print_what print_what, int args, int set_current_sal)
struct frame_info * block_innermost_frame (const struct block *)
int deprecated_frame_register_read (struct frame_info *frame, int regnum, gdb_byte *buf)
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 args_info (char *, int)
void locals_info (char *, int)
void return_command (char *, int)
struct cleanup * frame_prepare_for_sniffer (struct frame_info *frame, const struct frame_unwind *unwind)
struct frame_info * deprecated_safe_get_selected_frame (void)
struct frame_info * create_new_frame (CORE_ADDR base, CORE_ADDR pc)
int frame_unwinder_is (struct frame_info *fi, const struct frame_unwind *unwinder)

Variables

struct frame_id null_frame_id
struct frame_id outer_frame_id
unsigned int frame_debug
const char print_entry_values_no []
const char print_entry_values_only []
const char print_entry_values_preferred []
const char print_entry_values_if_needed []
const char print_entry_values_both []
const char print_entry_values_compact []
const char print_entry_values_default []
const char * print_entry_values
void(* deprecated_selected_frame_level_changed_hook )(int)

Define Documentation

#define FIRST_ENTRY (   name)    UNWIND_FIRST = name,

Definition at line 451 of file frame.h.

#define FIRST_ERROR (   name)    UNWIND_FIRST_ERROR = name,

Definition at line 453 of file frame.h.

#define FRAME_OBSTACK_CALLOC (   NUMBER,
  TYPE 
)    ((TYPE *) frame_obstack_zalloc ((NUMBER) * sizeof (TYPE)))

Definition at line 619 of file frame.h.

#define FRAME_OBSTACK_ZALLOC (   TYPE)    ((TYPE *) frame_obstack_zalloc (sizeof (TYPE)))

Definition at line 617 of file frame.h.

#define LAST_ENTRY (   name)    UNWIND_LAST = name,

Definition at line 452 of file frame.h.

#define SET (   name,
  description 
)    name,

Definition at line 450 of file frame.h.


Enumeration Type Documentation

enum frame_type
Enumerator:
NORMAL_FRAME 
DUMMY_FRAME 
INLINE_FRAME 
TAILCALL_FRAME 
SIGTRAMP_FRAME 
ARCH_FRAME 
SENTINEL_FRAME 

Definition at line 199 of file frame.h.

enum print_what
Enumerator:
SRC_LINE 
LOCATION 
SRC_AND_LOC 
LOC_AND_ADDRESS 

Definition at line 599 of file frame.h.

Definition at line 448 of file frame.h.


Function Documentation

void args_info ( char *  ,
int   
)

Definition at line 2169 of file stack.c.

struct frame_info* block_innermost_frame ( const struct block ) [read]

Definition at line 359 of file blockframe.c.

struct frame_info* create_new_frame ( CORE_ADDR  base,
CORE_ADDR  pc 
) [read]

Definition at line 1534 of file frame.c.

int deprecated_frame_register_read ( struct frame_info *  frame,
int  regnum,
gdb_byte buf 
)

Definition at line 1171 of file frame.c.

struct frame_info* deprecated_safe_get_selected_frame ( void  ) [read]

Definition at line 1477 of file frame.c.

void find_frame_sal ( struct frame_info *  frame,
struct symtab_and_line sal 
)

Definition at line 2160 of file frame.c.

struct frame_info* find_relative_frame ( struct frame_info *  ,
int  
) [read]

Definition at line 2220 of file stack.c.

void fprint_frame_id ( struct ui_file *  file,
struct frame_id  id 
)

Definition at line 290 of file frame.c.

struct frame_info* frame_find_by_id ( struct frame_id  id) [read]

Definition at line 647 of file frame.c.

Definition at line 511 of file frame.c.

struct frame_id frame_id_build ( CORE_ADDR  stack_addr,
CORE_ADDR  code_addr 
) [read]

Definition at line 470 of file frame.c.

struct frame_id frame_id_build_special ( CORE_ADDR  stack_addr,
CORE_ADDR  code_addr,
CORE_ADDR  special_addr 
) [read]

Definition at line 455 of file frame.c.

struct frame_id frame_id_build_wild ( CORE_ADDR  stack_addr) [read]

Definition at line 482 of file frame.c.

int frame_id_eq ( struct frame_id  l,
struct frame_id  r 
)

Definition at line 520 of file frame.c.

int frame_id_p ( struct frame_id  l)

Definition at line 492 of file frame.c.

void* frame_obstack_zalloc ( unsigned long  size)

Definition at line 1347 of file frame.c.

void frame_pop ( struct frame_info *  frame)

Definition at line 870 of file frame.c.

struct cleanup* frame_prepare_for_sniffer ( struct frame_info *  frame,
const struct frame_unwind unwind 
) [read]

Definition at line 2496 of file frame.c.

void frame_register ( struct frame_info *  frame,
int  regnum,
int optimizedp,
int unavailablep,
enum lval_type lvalp,
CORE_ADDR addrp,
int realnump,
gdb_byte valuep 
)

Definition at line 962 of file frame.c.

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 valuep 
)

Definition at line 921 of file frame.c.

int frame_relative_level ( struct frame_info *  fi)

Definition at line 2286 of file frame.c.

struct regcache* frame_save_as_regcache ( struct frame_info *  this_frame) [read]

Definition at line 857 of file frame.c.

const char* frame_stop_reason_string ( enum  unwind_stop_reason)

Definition at line 2445 of file frame.c.

struct gdbarch* frame_unwind_arch ( struct frame_info *  frame) [read]

Definition at line 2373 of file frame.c.

struct gdbarch* frame_unwind_caller_arch ( struct frame_info *  frame) [read]

Definition at line 2401 of file frame.c.

struct frame_id frame_unwind_caller_id ( struct frame_info *  next_frame) [read]

Definition at line 434 of file frame.c.

CORE_ADDR frame_unwind_caller_pc ( struct frame_info *  frame)

Definition at line 780 of file frame.c.

int frame_unwind_caller_pc_if_available ( struct frame_info *  this_frame,
CORE_ADDR pc 
)

Definition at line 786 of file frame.c.

struct program_space* frame_unwind_program_space ( struct frame_info *  ) [read]

Definition at line 2311 of file frame.c.

void frame_unwind_register ( struct frame_info *  frame,
int  regnum,
gdb_byte buf 
)

Definition at line 982 of file frame.c.

LONGEST frame_unwind_register_signed ( struct frame_info *  frame,
int  regnum 
)

Definition at line 1077 of file frame.c.

ULONGEST frame_unwind_register_unsigned ( struct frame_info *  frame,
int  regnum 
)

Definition at line 1095 of file frame.c.

struct value* frame_unwind_register_value ( struct frame_info *  frame,
int  regnum 
) [read]

Definition at line 1008 of file frame.c.

int frame_unwinder_is ( struct frame_info *  fi,
const struct frame_unwind unwinder 
)

Definition at line 2275 of file frame.c.

struct frame_info* get_current_frame ( void  ) [read]

Definition at line 1374 of file frame.c.

CORE_ADDR get_frame_address_in_block ( struct frame_info *  this_frame)

Definition at line 2082 of file frame.c.

int get_frame_address_in_block_if_available ( struct frame_info *  this_frame,
CORE_ADDR pc 
)

Definition at line 2142 of file frame.c.

struct address_space* get_frame_address_space ( struct frame_info *  ) [read]

Definition at line 2322 of file frame.c.

struct gdbarch* get_frame_arch ( struct frame_info *  this_frame) [read]

Definition at line 2367 of file frame.c.

CORE_ADDR get_frame_args_address ( struct frame_info *  )

Definition at line 2257 of file frame.c.

CORE_ADDR get_frame_base ( struct frame_info *  )

Definition at line 2220 of file frame.c.

CORE_ADDR get_frame_base_address ( struct frame_info *  )

Definition at line 2228 of file frame.c.

struct block* get_frame_block ( struct frame_info *  ,
CORE_ADDR addr_in_block 
) [read]

Definition at line 56 of file blockframe.c.

CORE_ADDR get_frame_func ( struct frame_info *  fi)

Definition at line 837 of file frame.c.

int get_frame_func_if_available ( struct frame_info *  fi,
CORE_ADDR  
)

Definition at line 793 of file frame.c.

struct symbol* get_frame_function ( struct frame_info *  ) [read]

Definition at line 119 of file blockframe.c.

struct frame_id get_frame_id ( struct frame_info *  fi) [read]

Definition at line 396 of file frame.c.

CORE_ADDR get_frame_locals_address ( struct frame_info *  )

Definition at line 2242 of file frame.c.

void get_frame_memory ( struct frame_info *  this_frame,
CORE_ADDR  addr,
gdb_byte buf,
int  len 
)

Definition at line 2330 of file frame.c.

LONGEST get_frame_memory_signed ( struct frame_info *  this_frame,
CORE_ADDR  memaddr,
int  len 
)

Definition at line 2337 of file frame.c.

ULONGEST get_frame_memory_unsigned ( struct frame_info *  this_frame,
CORE_ADDR  memaddr,
int  len 
)

Definition at line 2347 of file frame.c.

CORE_ADDR get_frame_pc ( struct frame_info *  )

Definition at line 2051 of file frame.c.

int get_frame_pc_if_available ( struct frame_info *  frame,
CORE_ADDR pc 
)

Definition at line 2058 of file frame.c.

struct program_space* get_frame_program_space ( struct frame_info *  ) [read]

Definition at line 2305 of file frame.c.

void get_frame_register ( struct frame_info *  frame,
int  regnum,
gdb_byte buf 
)

Definition at line 1001 of file frame.c.

int get_frame_register_bytes ( struct frame_info *  frame,
int  regnum,
CORE_ADDR  offset,
int  len,
gdb_byte myaddr,
int optimizedp,
int unavailablep 
)

Definition at line 1187 of file frame.c.

LONGEST get_frame_register_signed ( struct frame_info *  frame,
int  regnum 
)

Definition at line 1089 of file frame.c.

ULONGEST get_frame_register_unsigned ( struct frame_info *  frame,
int  regnum 
)

Definition at line 1107 of file frame.c.

struct value* get_frame_register_value ( struct frame_info *  frame,
int  regnum 
) [read]

Definition at line 1071 of file frame.c.

CORE_ADDR get_frame_sp ( struct frame_info *  )

Definition at line 2409 of file frame.c.

enum frame_type get_frame_type ( struct frame_info *  )

Definition at line 2295 of file frame.c.

enum unwind_stop_reason get_frame_unwind_stop_reason ( struct frame_info *  )

Definition at line 2430 of file frame.c.

struct frame_info* get_next_frame ( struct frame_info *  ) [read]

Definition at line 1583 of file frame.c.

Definition at line 87 of file blockframe.c.

struct frame_info* get_prev_frame ( struct frame_info *  ) [read]

Definition at line 1956 of file frame.c.

struct block* get_selected_block ( CORE_ADDR addr_in_block) [read]

Definition at line 2202 of file stack.c.

struct frame_info* get_selected_frame ( const char *  message) [read]

Definition at line 1448 of file frame.c.

struct frame_info* get_selected_frame_if_set ( void  ) [read]

Definition at line 1467 of file frame.c.

struct frame_id get_stack_frame_id ( struct frame_info *  fi) [read]

Definition at line 428 of file frame.c.

int has_stack_frames ( void  )

Definition at line 1419 of file frame.c.

void locals_info ( char *  ,
int   
)

Definition at line 2087 of file stack.c.

void print_frame_info ( struct frame_info *  ,
int  print_level,
enum print_what  print_what,
int  args,
int  set_current_sal 
)

Definition at line 785 of file stack.c.

void print_stack_frame ( struct frame_info *  ,
int  print_level,
enum print_what  print_what,
int  set_current_sal 
)

Definition at line 156 of file stack.c.

void put_frame_register ( struct frame_info *  frame,
int  regnum,
const gdb_byte buf 
)

Definition at line 1133 of file frame.c.

void put_frame_register_bytes ( struct frame_info *  frame,
int  regnum,
CORE_ADDR  offset,
int  len,
const gdb_byte myaddr 
)

Definition at line 1264 of file frame.c.

void read_frame_arg ( struct symbol sym,
struct frame_info *  frame,
struct frame_arg argp,
struct frame_arg entryargp 
)

Definition at line 332 of file stack.c.

void read_frame_local ( struct symbol sym,
struct frame_info *  frame,
struct frame_arg argp 
)

Definition at line 311 of file stack.c.

int read_frame_register_unsigned ( struct frame_info *  frame,
int  regnum,
ULONGEST val 
)

Definition at line 1113 of file frame.c.

void reinit_frame_cache ( void  )

Definition at line 1602 of file frame.c.

void return_command ( char *  ,
int   
)

Definition at line 2352 of file stack.c.

int safe_frame_unwind_memory ( struct frame_info *  this_frame,
CORE_ADDR  addr,
gdb_byte buf,
int  len 
)

Definition at line 2357 of file frame.c.

void select_frame ( struct frame_info *  )

Definition at line 1487 of file frame.c.

unwind_stop_reason::SET ( UNWIND_UNAVAILABLE  ,
"not enough registers or memory available to unwind further"   
)
void set_current_sal_from_frame ( struct frame_info *  ,
int   
)

Definition at line 718 of file stack.c.


Variable Documentation

Definition at line 58 of file stack.c.

unsigned int frame_debug

Definition at line 237 of file frame.c.

Definition at line 451 of file frame.c.

Definition at line 452 of file frame.c.

Definition at line 91 of file stack.c.

Definition at line 77 of file stack.c.

Definition at line 78 of file stack.c.

Definition at line 79 of file stack.c.

Definition at line 76 of file stack.c.

Definition at line 73 of file stack.c.

Definition at line 74 of file stack.c.

Definition at line 75 of file stack.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines