#### 23.4.3.3 GDB Scheme Data Types ¶

The values exposed by GDB to Guile are known as GDB objects. There are several kinds of GDB object, and each is disjoint from all other types known to Guile.

Scheme Procedure: gdb-object-kind object ¶

  Return the kind of the GDB object, e.g., `<gdb:breakpoint>`, as a symbol.

GDB defines the following object types:

`<gdb:arch>`

  See Guile representation of architectures.

`<gdb:block>`

  See Accessing blocks from Guile..

`<gdb:block-symbols-iterator>`

  See Accessing blocks from Guile..

`<gdb:breakpoint>`

  See Manipulating breakpoints using Guile.

`<gdb:command>`

  See Commands In Guile.

`<gdb:exception>`

  See Guile Exception Handling.

`<gdb:frame>`

  See Accessing inferior stack frames from Guile..

`<gdb:iterator>`

  See Iterators In Guile.

`<gdb:lazy-string>`

  See Guile representation of lazy strings..

`<gdb:objfile>`

  See Objfiles In Guile.

`<gdb:parameter>`

  See Parameters In Guile.

`<gdb:pretty-printer>`

  See Guile Pretty Printing API.

`<gdb:pretty-printer-worker>`

  See Guile Pretty Printing API.

`<gdb:progspace>`

  See Program Spaces In Guile.

`<gdb:symbol>`

  See Guile representation of Symbols..

`<gdb:symtab>`

  See Symbol table representation in Guile..

`<gdb:sal>`

  See Symbol table representation in Guile..

`<gdb:type>`

  See Types In Guile.

`<gdb:field>`

  See Types In Guile.

`<gdb:value>`

  See Values From Inferior In Guile.

The following GDB objects 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:progspace>`
`<gdb:symbol>`
`<gdb:symtab>`
`<gdb:type>`