[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