<html lang="en">
<head>
<title>Selecting Guile Pretty-Printers - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Guile-API.html#Guile-API" title="Guile API">
<link rel="prev" href="Guile-Pretty-Printing-API.html#Guile-Pretty-Printing-API" title="Guile Pretty Printing API">
<link rel="next" href="Writing-a-Guile-Pretty_002dPrinter.html#Writing-a-Guile-Pretty_002dPrinter" title="Writing a Guile Pretty-Printer">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988-2019 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.

(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Selecting-Guile-Pretty-Printers"></a>
<a name="Selecting-Guile-Pretty_002dPrinters"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Writing-a-Guile-Pretty_002dPrinter.html#Writing-a-Guile-Pretty_002dPrinter">Writing a Guile Pretty-Printer</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Guile-Pretty-Printing-API.html#Guile-Pretty-Printing-API">Guile Pretty Printing API</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Guile-API.html#Guile-API">Guile API</a>
<hr>
</div>

<h5 class="subsubsection">23.3.3.9 Selecting Guile Pretty-Printers</h5>

<p><a name="index-selecting-guile-pretty_002dprinters-2604"></a>
There are three sets of pretty-printers that <span class="sc">gdb</span> searches:

     <ul>
<li>Per-objfile list of pretty-printers (see <a href="Objfiles-In-Guile.html#Objfiles-In-Guile">Objfiles In Guile</a>). 
<li>Per-progspace list of pretty-printers (see <a href="Progspaces-In-Guile.html#Progspaces-In-Guile">Progspaces In Guile</a>). 
<li>The global list of pretty-printers (see <a href="Guile-Pretty-Printing-API.html#Guile-Pretty-Printing-API">Guile Pretty Printing API</a>). 
These printers are available when debugging any inferior. 
</ul>

   <p>Pretty-printer lookup is done by passing the value to be printed to the
lookup function of each enabled object in turn. 
Lookup stops when a lookup function returns a non-<code>#f</code> value
or when the list is exhausted. 
Lookup functions must return either a <code>&lt;gdb:pretty-printer-worker&gt;</code>
object or <code>#f</code>.  Otherwise an exception is thrown.

   <p><span class="sc">gdb</span> first checks the result of <code>objfile-pretty-printers</code>
of each <code>&lt;gdb:objfile&gt;</code> in the current program space and iteratively
calls each enabled lookup function in the list for that <code>&lt;gdb:objfile&gt;</code>
until a non-<code>#f</code> object is returned. 
If no pretty-printer is found in the objfile lists, <span class="sc">gdb</span> then
searches the result of <code>progspace-pretty-printers</code> of the current
program space, calling each enabled function until a non-<code>#f</code> object
is returned. 
After these lists have been exhausted, it tries the global pretty-printers
list, obtained with <code>pretty-printers</code>, again calling each enabled
function until a non-<code>#f</code> object is returned.

   <p>The order in which the objfiles are searched is not specified.  For a
given list, functions are always invoked from the head of the list,
and iterated over sequentially until the end of the list, or a
<code>&lt;gdb:pretty-printer-worker&gt;</code> object is returned.

   <p>For various reasons a pretty-printer may not work. 
For example, the underlying data structure may have changed and
the pretty-printer is out of date.

   <p>The consequences of a broken pretty-printer are severe enough that
<span class="sc">gdb</span> provides support for enabling and disabling individual
printers.  For example, if <code>print frame-arguments</code> is on,
a backtrace can become highly illegible if any argument is printed
with a broken printer.

   <p>Pretty-printers are enabled and disabled from Scheme by calling
<code>set-pretty-printer-enabled!</code>. 
See <a href="Guile-Pretty-Printing-API.html#Guile-Pretty-Printing-API">Guile Pretty Printing API</a>.

   </body></html>

