Progspaces In Guile (Debugging with GDB)

From Get docs
Gdb/docs/latest/gdb/Progspaces-In-Guile


23.4.3.13 Program Spaces In Guile

A program space, or progspace, represents a symbolic view of an address space. It consists of all of the objfiles of the program. See Objfiles In Guile. See program spaces, for more details about program spaces.

Each progspace is represented by an instance of the <gdb:progspace> smob. See GDB Scheme Data Types.

The following progspace-related functions are available in the (gdb) module:

Scheme Procedure
progspace? object
Return #t if object is a <gdb:progspace> object. Otherwise return #f.
Scheme Procedure
progspace-valid? progspace
Return #t if progspace is valid, #f if not. A <gdb:progspace> object can become invalid if the program it refers to is not loaded in GDB any longer.
Scheme Procedure
current-progspace
This function returns the program space of the currently selected inferior. There is always a current progspace, this never returns #f. See Inferiors Connections and Programs.
Scheme Procedure
progspaces
Return a list of all the progspaces currently known to GDB.
Scheme Procedure: progspace-filename progspace

Return the absolute file name of progspace as a string. This is the name of the file passed as the argument to the file or symbol-file commands. If the program space does not have an associated file name, then #f is returned. This occurs, for example, when GDB is started without a program to debug.

A gdb:invalid-object-error exception is thrown if progspace is invalid.

Scheme Procedure: progspace-objfiles progspace

Return the list of objfiles of progspace. The order of objfiles in the result is arbitrary. Each element is an object of type <gdb:objfile>. See Objfiles In Guile.

A gdb:invalid-object-error exception is thrown if progspace is invalid.

Scheme Procedure
progspace-pretty-printers progspace
Return the list of pretty-printers of progspace. Each element is an object of type <gdb:pretty-printer>. See Guile Pretty Printing API, for more information.
Scheme Procedure
set-progspace-pretty-printers! progspace printer-list
Set the list of registered <gdb:pretty-printer> objects for progspace to printer-list. See Guile Pretty Printing API, for more information.