35
votes

I am looking for a solid tutorial on creating a custom printer.

There are a few sparse pages on the GDB page however they are far from complete and leave much to the imagination!

For instance, I'd love to be able to create a PrettyPrinter for our custom shared pointer class.

2
yes those leave much up to the imagination of implementing pretty printers for complex structures for instance. - Setheron

2 Answers

34
votes

Check out Tom Tromey's pretty printing tutorials part 1 and part 2. There is also the libstdc++-v6 pretty printer implementation to look at, which is what I used myself as a template when I started out. A somewhat simpler example (as of this writing) is the Boost pretty printer by Rüdiger Sonderfeld.

13
votes

This one looks interesting for starters: Python Pretty-Printers from redhat

From this simple tutorial, you can proceed to more advanced ones. Here is a good example:Pretty-printers for libstc++