Re: GDB variants accepting plugins (to the debugger) ?

Simon Marchi via Gdb <[email protected]> Fri, 30 Jan 2026 10:35:58 -0500
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>

On 2026-01-30 08:33, Eli Zaretskii via Gdb wrote:
>> From: Basile Starynkevitch <[email protected]>
>> Cc: [email protected]
>> Date: Fri, 30 Jan 2026 14:13:51 +0100
>>
>> I am using GDB-17.1 on Linux/Debian/x86-64 to debug a C++ coded, GPL licensed, inference engine
>>
>>
>> Is there any GDB variant accepting plugins to the debugger process
>> (these could be definitely useful to display C++ data in a nice way, std::vector or std::map instances come to mind immediately).
>>
>> I do know that GDB accept eg Guile or Python scripts.
>> But coding manually a Python or Guile function for every important C++ classes of a software is very time consuming
> 
> Did you read the node "Auto-loading extensions" in the GDB manual?
> GDB installs such an auto-loaded extension for standard C++ classes,
> which actually uses printers.py provided by GCC/libstdc++
> distribution.  But you can use the same mechanism to provide
> extensions for your classes, if needed.

Here's the file Eli is referring to, for libstdc++:

https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libstdc%2B%2B-v3/python/libstdcxx/v6/printers.py;hb=HEAD

And here is the API it uses:

https://sourceware.org/gdb/current/onlinedocs/gdb.html/Pretty-Printing.html

Simon