Next: , Previous: Symbols In Guile, Up: Guile API


23.3.3.15 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.