GDB 15.1 released!
Joel Brobecker
brobecker@adacore.com
Sun Jul 7 18:02:39 GMT 2024
GDB 15.1 released!
Release 15.1 of GDB, the GNU Debugger, is now available. GDB is
a source-level debugger for Ada, C, C++, Fortran, Go, Rust, and many
other languages. GDB can target (i.e., debug programs running on)
more than a dozen different processor architectures, and GDB itself
can run on most popular GNU/Linux, Unix and Microsoft Windows variants.
GDB is free (libre) software.
You can download GDB from the GNU HTTPS server in the directory:
https://ftp.gnu.org/gnu/gdb/?C=M;O=D
The vital stats:
Size sha256sum Name
24MiB 38254eacd4572134bca9c5a5aa4d4ca564cbbd30c369d881f733fb6b903354f2 gdb-15.1.tar.xz
40MiB 8b61b0c2bdd9d9c83b113c9167866bdb474651d291fedcaa5eb7cde49bd47036 gdb-15.1.tar.gz
There is a web page for GDB at:
https://www.gnu.org/software/gdb/
That page includes information about GDB mailing lists (an announcement
mailing list, developers discussion lists, etc.), details on how to
access GDB's source repository, locations for development snapshots,
preformatted documentation, and links to related information around
the net. We will put errata notes and host-specific tips for this release
on-line as any problems come up. All mailing lists archives are also
browsable via the web.
GDB 15.1 includes the following changes and enhancements:
* Building GDB and GDBserver now requires a C++17 compiler (for instance,
GCC 9 or later).
* Enhanced Python support
** New function gdb.notify_mi(NAME, DATA), that emits custom
GDB/MI async notification.
** New read/write attribute gdb.Value.bytes that contains a bytes
object holding the contents of this value.
** New module gdb.missing_debug that facilitates dealing with
objfiles that are missing any debug information.
** New function gdb.missing_debug.register_handler that can register
an instance of a sub-class of gdb.missing_debug.MissingDebugInfo
as a handler for objfiles that are missing debug information.
** New class gdb.missing_debug.MissingDebugInfo which can be
sub-classed to create handlers for objfiles with missing debug
information.
** Stop events now have a "details" attribute that holds a
dictionary that carries the same information as an MI "*stopped"
event.
** New function gdb.interrupt(), that interrupts GDB as if the user
typed control-c.
** New gdb.InferiorThread.ptid_string attribute. This read-only
attribute contains the string that appears in the 'Target Id'
column of the 'info threads' command output.
** It is no longer possible to create new gdb.Progspace object using
'gdb.Progspace()', this will result in a TypeError. Progspace
objects can still be obtained through calling other API
functions, for example 'gdb.current_progspace()'.
** User defined attributes can be added to a gdb.Inferior object,
these will be stored in the object's new Inferior.__dict__
attribute.
** User defined attributes can be added to a gdb.InferiorThread
object, these will be stored in the object's new
InferiorThread.__dict__ attribute.
** New constants gdb.SYMBOL_TYPE_DOMAIN, gdb.SYMBOL_FUNCTION_DOMAIN,
and gdb.SEARCH_*_DOMAIN
* Debugger Adapter Protocol changes
** GDB now emits the "process" event.
** GDB now supports the "cancel" request.
** The "attach" request now supports specifying the program.
** New command "set debug dap-log-level" controls DAP logging.
* Remote protocol
** New stop reason: clone
** QThreadOptions in qSupported
** New remote packets: QThreadOptions, qIsAddressTagged
** New "set/show remote thread-options-packet" commands
* GDBserver
** The --remote-debug and --event-loop-debug command line options
have been removed.
** The --debug command line option now takes an optional comma
separated list of components to emit debug for. The currently
supported components are: all, threads, event-loop, and remote.
If no components are given then threads is assumed.
** The 'monitor set remote-debug' and 'monitor set event-loop-debug'
command have been removed.
** The 'monitor set debug 0|1' command has been extended to take a
component name, e.g.: 'monitor set debug COMPONENT off|on'.
Possible component names are: all, threads, event-loop, and
remote.
* Deprecated or removed
** The MPX commands "show/set mpx bound" have been deprecated, as Intel
listed MPX as removed in 2019.
* Miscellaneous
** Guile API: New constants SYMBOL_TYPE_DOMAIN, SYMBOL_FUNCTION_DOMAIN,
and SEARCH_*_DOMAIN
** New "set/show direct-call-timeout" commands.
** New "set/show indirect-call-timeout" commands.
** New "set/show unwind-on-timeout on|off" commands.
** New "set/show unwind-on-signal on|off" commands, renaming the old
"set/show unwindonsignal" commands. The old commands are maintained
as an alias.
** The "gcore" and "generate-core-file" commands now generates sparse
core files, on systems that support it.
** The "maintenance info line-table" command now includes a new
EPILOGUE-BEGIN column indicating the start of the function's epilogue.
** Simultaneous use of the 'r' and 'b' flags in the "disassemble" command
now triggers an error.
For a complete list and more details on each item, please see the gdb/NEWS
file, available at:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=gdb/NEWS;hb=gdb-15.1-release
--
Joel Brobecker
More information about the Gdb-announce
mailing list