summaryrefslogtreecommitdiff
path: root/share/doc/gdb/Pretty_002dPrinter-Commands.html
diff options
context:
space:
mode:
Diffstat (limited to 'share/doc/gdb/Pretty_002dPrinter-Commands.html')
-rw-r--r--share/doc/gdb/Pretty_002dPrinter-Commands.html179
1 files changed, 179 insertions, 0 deletions
diff --git a/share/doc/gdb/Pretty_002dPrinter-Commands.html b/share/doc/gdb/Pretty_002dPrinter-Commands.html
new file mode 100644
index 0000000..f973632
--- /dev/null
+++ b/share/doc/gdb/Pretty_002dPrinter-Commands.html
@@ -0,0 +1,179 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 1988-2023 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." -->
+<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>Debugging with GDB: Pretty-Printer Commands</title>
+
+<meta name="description" content="Debugging with GDB: Pretty-Printer Commands">
+<meta name="keywords" content="Debugging with GDB: Pretty-Printer Commands">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link href="index.html#Top" rel="start" title="Top">
+<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
+<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
+<link href="Pretty-Printing.html#Pretty-Printing" rel="up" title="Pretty Printing">
+<link href="Value-History.html#Value-History" rel="next" title="Value History">
+<link href="Pretty_002dPrinter-Example.html#Pretty_002dPrinter-Example" rel="previous" title="Pretty-Printer Example">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.indentedblock {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style:oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nocodebreak {white-space:nowrap}
+span.nolinebreak {white-space:nowrap}
+span.roman {font-family:serif; font-weight:normal}
+span.sansserif {font-family:sans-serif; font-weight:normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+<a name="Pretty_002dPrinter-Commands"></a>
+<div class="header">
+<p>
+Previous: <a href="Pretty_002dPrinter-Example.html#Pretty_002dPrinter-Example" accesskey="p" rel="previous">Pretty-Printer Example</a>, Up: <a href="Pretty-Printing.html#Pretty-Printing" accesskey="u" rel="up">Pretty Printing</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<hr>
+<a name="Pretty_002dPrinter-Commands-1"></a>
+<h4 class="subsection">10.10.3 Pretty-Printer Commands</h4>
+<a name="index-pretty_002dprinter-commands"></a>
+
+<dl compact="compact">
+<dd><a name="index-info-pretty_002dprinter"></a>
+</dd>
+<dt><code>info pretty-printer [<var>object-regexp</var> [<var>name-regexp</var>]]</code></dt>
+<dd><p>Print the list of installed pretty-printers.
+This includes disabled pretty-printers, which are marked as such.
+</p>
+<p><var>object-regexp</var> is a regular expression matching the objects
+whose pretty-printers to list.
+Objects can be <code>global</code>, the program space&rsquo;s file
+(see <a href="Progspaces-In-Python.html#Progspaces-In-Python">Progspaces In Python</a>),
+and the object files within that program space (see <a href="Objfiles-In-Python.html#Objfiles-In-Python">Objfiles In Python</a>).
+See <a href="Selecting-Pretty_002dPrinters.html#Selecting-Pretty_002dPrinters">Selecting Pretty-Printers</a>, for details on how <small>GDB</small>
+looks up a printer from these three objects.
+</p>
+<p><var>name-regexp</var> is a regular expression matching the name of the printers
+to list.
+</p>
+<a name="index-disable-pretty_002dprinter"></a>
+</dd>
+<dt><code>disable pretty-printer [<var>object-regexp</var> [<var>name-regexp</var>]]</code></dt>
+<dd><p>Disable pretty-printers matching <var>object-regexp</var> and <var>name-regexp</var>.
+A disabled pretty-printer is not forgotten, it may be enabled again later.
+</p>
+<a name="index-enable-pretty_002dprinter"></a>
+</dd>
+<dt><code>enable pretty-printer [<var>object-regexp</var> [<var>name-regexp</var>]]</code></dt>
+<dd><p>Enable pretty-printers matching <var>object-regexp</var> and <var>name-regexp</var>.
+</p></dd>
+</dl>
+
+<p>Example:
+</p>
+<p>Suppose we have three pretty-printers installed: one from library1.so
+named <code>foo</code> that prints objects of type <code>foo</code>, and
+another from library2.so named <code>bar</code> that prints two types of objects,
+<code>bar1</code> and <code>bar2</code>.
+</p>
+<div class="smallexample">
+<pre class="smallexample">(gdb) info pretty-printer
+library1.so:
+ foo
+library2.so:
+ bar
+ bar1
+ bar2
+</pre><pre class="smallexample">(gdb) info pretty-printer library2
+library2.so:
+ bar
+ bar1
+ bar2
+</pre><pre class="smallexample">(gdb) disable pretty-printer library1
+1 printer disabled
+2 of 3 printers enabled
+(gdb) info pretty-printer
+library1.so:
+ foo [disabled]
+library2.so:
+ bar
+ bar1
+ bar2
+</pre><pre class="smallexample">(gdb) disable pretty-printer library2 bar;bar1
+1 printer disabled
+1 of 3 printers enabled
+(gdb) info pretty-printer library2
+library2.so:
+ bar
+ bar1 [disabled]
+ bar2
+</pre><pre class="smallexample">(gdb) disable pretty-printer library2 bar
+1 printer disabled
+0 of 3 printers enabled
+(gdb) info pretty-printer
+library1.so:
+ foo [disabled]
+library2.so:
+ bar [disabled]
+ bar1 [disabled]
+ bar2
+</pre></div>
+
+<p>Note that for <code>bar</code> the entire printer can be disabled,
+as can each individual subprinter.
+</p>
+<p>Printing values and frame arguments is done by default using
+the enabled pretty printers.
+</p>
+<p>The print option <code>-raw-values</code> and <small>GDB</small> setting
+<code>set print raw-values</code> (see <a href="Print-Settings.html#set-print-raw_002dvalues">set print raw-values</a>) can be
+used to print values without applying the enabled pretty printers.
+</p>
+<p>Similarly, the backtrace option <code>-raw-frame-arguments</code> and
+<small>GDB</small> setting <code>set print raw-frame-arguments</code>
+(see <a href="Print-Settings.html#set-print-raw_002dframe_002darguments">set print raw-frame-arguments</a>) can be used to ignore the
+enabled pretty printers when printing frame argument values.
+</p>
+<hr>
+<div class="header">
+<p>
+Previous: <a href="Pretty_002dPrinter-Example.html#Pretty_002dPrinter-Example" accesskey="p" rel="previous">Pretty-Printer Example</a>, Up: <a href="Pretty-Printing.html#Pretty-Printing" accesskey="u" rel="up">Pretty Printing</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
+</div>
+
+
+
+</body>
+</html>