When a new object file is read (for example, due to the file
command, or because the inferior has loaded a shared library),
gdb will look for Python support scripts in several ways:
objfile-gdb.py and .debug_gdb_scripts
section.
See Auto-loading extensions.
The auto-loading feature is useful for supplying application-specific debugging commands and scripts.
Auto-loading can be enabled or disabled, and the list of auto-loaded scripts can be printed.
set auto-load python-scripts [on|off]
show auto-load python-scripts
info auto-load python-scripts [
regexp]
Also printed is the list of Python scripts that were mentioned in
the .debug_gdb_scripts
section and were either not found
(see dotdebug_gdb_scripts section) or were not auto-loaded due to
auto-load safe-path
rejection (see Auto-loading).
This is useful because their names are not printed when gdb
tries to load them and fails. There may be many of them, and printing
an error message for each one is problematic.
If regexp is supplied only Python scripts with matching names are printed.
Example:
(gdb) info auto-load python-scripts Loaded Script Yes py-section-script.py full name: /tmp/py-section-script.py No my-foo-pretty-printers.py
When reading an auto-loaded file or script, gdb sets the
current objfile. This is available via the gdb.current_objfile
function (see Objfiles In Python). This can be useful for
registering objfile-specific pretty-printers and frame-filters.