gdb uses Guile's smob (small object) data type for all gdb objects (see Defining New Types (Smobs)). The smobs that gdb provides are called gsmobs.
Return the kind of the gsmob, e.g.,
<gdb:breakpoint>, as a symbol.
Every gsmob provides a common set of functions for extending
them in simple ways. Each gsmob has a list of properties,
initially empty. These properties are akin to Guile's object properties,
but are stored with the gsmob
(see Object Properties).
Property names can be any eq?-able value, but it is recommended
that they be symbols.
Set the value of property
property-nameto valuevalue. The result is unspecified.
Return the value of property
property-name. If the property isn't present then#fis returned.
Return
#tifgsmobhas propertyproperty-name. Otherwise return#f.
gdb defines the following Scheme smobs:
<gdb:arch><gdb:block><gdb:block-symbols-iterator><gdb:breakpoint><gdb:exception><gdb:frame><gdb:iterator><gdb:lazy-string><gdb:objfile><gdb:pretty-printer><gdb:pretty-printer-worker><gdb:symbol><gdb:symtab><gdb:sal><gdb:type><gdb:field><gdb:value>The following gsmobs are managed internally so that the Scheme function
eq? may be applied to them.
<gdb:arch><gdb:block><gdb:breakpoint><gdb:frame><gdb:objfile><gdb:symbol><gdb:symtab><gdb:type>