gdb: Symbol Tables In Guile
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. Frames In Guile.
For more information on GDB's symbol table management, see
Examining the Symbol Table Symbols.
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. Objfiles In
Guile.
-- Scheme Procedure: symtab-global-block symtab
Return the global block of the underlying symbol table.
Blocks In Guile.
-- Scheme Procedure: symtab-static-block symtab
Return the static block of the underlying symbol table.
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.