This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

QUERY: Pretty-printing C++ classes in gdb



(I hope the following is not a FAQ.  I didn't find one on the gdb page.)

I am curious whether gdb has hooks that would allow me to provide a means
of pretty-printing C++ classes without modifying the gdb source code.  
For example, imagine that I am supplying you with a C++ class library, and
want to save you the hassle of inspecting the guts of my classes and
understanding their inner workings when debugging your code that uses
them.  Rather, I'd like to cause "p instanceOfClassFoo" to give you a
clean view of the class that doesn't require understanding its
implementation.

One way to do this would be to hack the source, perhaps treating my
library as a new language.  However, I'd like to avoid changing the gdb
source both for simplicity and so that I don't have to ship users a new
copy of gdb.  So is there a less intrusive way that I can hook my pretty
printing in?  For example, I could imagine that a well-defined method name
or operator<< overload might be utilized by gdb if it exists.  Or that
perhaps I can give you a dot-file that will be used at load time to
configure the behavior.

Any information on whether such a feature exists, or other possible
workarounds would be appreciated.

Thanks very much,
-Brad Chamberlain


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]