[libstdc++] Rewrite STL Python pretty-printer support section

Phil Muldoon pmuldoon@redhat.com
Wed Oct 7 12:25:00 GMT 2009


Hi

I've rewritten this section to incorporate both Tom and Pedro's 
requested changes.

I've tested this with make doc-html

Is this OK?

Cheers,

Phil

ChangeLog

2009-10-07  Phil Muldoon <pmuldoon@redhat.com>

     * doc/xml/manual/debug.xml: Rewrite and expand GDB Python
     pretty-printer section.

--

Index: libstdc++-v3/doc/xml/manual/debug.xml
===================================================================
--- libstdc++-v3/doc/xml/manual/debug.xml    (revision 152469)
+++ libstdc++-v3/doc/xml/manual/debug.xml    (working copy)
@@ -219,18 +219,54 @@
</programlisting>

<para>
-  GDB 7.0 will include support for writing pretty-printers in Python.
- A library of printers for STL classes already exists within the
- libstdc++ svn repository. For information on enabling these printers,
- and for other GDB STL support options: please see
- <ulink url="http://sourceware.org/gdb/wiki/STLSupport"> "GDB Support
- for STL" </ulink> in the GDB wiki. Additionally, in-depth
- documentation and discussion of this feature can be found in the GDB
- manual. Please see:
- <ulink 
url="http://sourceware.org/gdb/current/onlinedocs//gdb_24.html#SEC260">
- "23.2.2.6 Pretty Printing" </ulink>
+  Starting with version 7.0, GDB includes support for writing
+  pretty-printers in Python.  Pretty printers for STL classes are
+  distributed with GCC from version 4.5.0.  The most recent version of
+  these printers are always found in libstdc++ svn repository.
+  To enable these printers, check-out the latest printers to a local
+  directory:
</para>

+<programlisting>
+  svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python
+</programlisting>
+
+<para>
+  Next, add the following section to your ~/.gdbinit  The path must
+  match the location where the Python module above was checked-out.
+  So if checked out to: /home/maude/gdb_printers/, the path would be as
+  written in the example below.
+</para>
+
+<programlisting>
+  python
+  import sys
+  sys.path.insert(0, '/home/maude/gdb_printers/python')
+  from libstdcxx.v6.printers import register_libstdcxx_printers
+  register_libstdcxx_printers (None)
+  end
+</programlisting>
+
+<para>
+  The path should be the only element that needs to be adjusted in the
+  example.  Once loaded, STL classes that the printers support
+  should printed in a more human-readable format.  To print the classes
+  in the old style, use the /r (raw) switch in the print command
+  (i.e., print /r foo).  This will print the classes as if the Python
+  pretty-printers were not loaded.
+</para>
+
+<para>
+  For additional information on STL support and GDB please visit:
+ <ulink url="http://sourceware.org/gdb/wiki/STLSupport"> "GDB Support
+  for STL" </ulink> in the GDB wiki.  Additionally, in-depth
+  documentation and discussion of the pretty printing feature can be
+  found in "Pretty Printing" node in the GDB manual.  You can find
+  on-line versions of the GDB user manual in GDB's homepage, at
+ <ulink url="http://sourceware.org/gdb/"> "GDB: The GNU Project
+  Debugger" </ulink>.
+</para>
+
</sect2>

<sect2 id="debug.exceptions">



More information about the Libstdc++ mailing list