23.3.3.18 Symbol table representation in Guile.
Access to symbol table data maintained by gdb on the inferior
is exposed to Guile via two objects: <gdb:sal>
(symtab-and-line) and
<gdb:symtab>
. Symbol table and line data for a frame is returned
from the frame-find-sal
<gdb:frame>
procedure.
See Frames In Guile.
For more information on gdb's symbol table management, see
Examining the Symbol Table.
The following symtab-related procedures are provided by the
(gdb)
module:
— Scheme Procedure:
symtab? object
Return #t
if object is an object of type <gdb:symtab>
.
Otherwise return #f
.
— Scheme Procedure:
symtab-valid? symtab
Return #t
if the <gdb:symtab>
object is valid,
#f
if not. A <gdb:symtab>
object becomes invalid when
the symbol table it refers to no longer exists in gdb.
All other <gdb:symtab>
procedures will throw an exception
if it is invalid at the time the procedure is called.
— Scheme Procedure:
symtab-filename symtab
Return the symbol table's source filename.
— Scheme Procedure:
symtab-fullname symtab
Return the symbol table's source absolute file name.
— Scheme Procedure:
symtab-objfile symtab
Return the symbol table's backing object file. See Objfiles In Guile.
— Scheme Procedure:
symtab-global-block symtab
Return the global block of the underlying symbol table.
See Blocks In Guile.
— Scheme Procedure:
symtab-static-block symtab
Return the static block of the underlying symbol table.
See Blocks In Guile.
The following symtab-and-line-related procedures are provided by the
(gdb)
module:
— Scheme Procedure:
sal? object
Return #t
if object is an object of type <gdb:sal>
.
Otherwise return #f
.
— Scheme Procedure:
sal-valid? sal
Return #t
if sal is valid, #f
if not.
A <gdb:sal>
object becomes invalid when the Symbol table object
it refers to no longer exists in gdb. All other
<gdb:sal>
procedures will throw an exception if it is
invalid at the time the procedure is called.
— Scheme Procedure:
sal-symtab sal
Return the symbol table object (<gdb:symtab>
) for sal.
— Scheme Procedure:
sal-line sal
Return the line number for sal.
— Scheme Procedure:
sal-pc sal
Return the start of the address range occupied by code for sal.
— Scheme Procedure:
sal-last sal
Return the end of the address range occupied by code for sal.
— Scheme Procedure:
find-pc-line pc
Return the <gdb:sal>
object corresponding to the pc value.
If an invalid value of pc is passed as an argument, then the
symtab
and line
attributes of the returned <gdb:sal>
object will be #f
and 0 respectively.