What has changed in GDB?
(Organized release by release)
-*** Changes since GDB 10
+*** Changes since GDB 11
+
+* Configure changes
+
+--enable-threading
+
+ Enable or disable multithreaded symbol loading. This is enabled
+ by default, but passing --disable-threading or --enable-threading=no
+ to configure will disable it.
+
+ Disabling this can cause a performance penalty when there are a lot of
+ symbols to load, but is useful for debugging purposes.
+
+* New commands
+
+maint set backtrace-on-fatal-signal on|off
+maint show backtrace-on-fatal-signal
+ This setting is 'on' by default. When 'on' GDB will print a limited
+ backtrace to stderr in the situation where GDB terminates with a
+ fatal signal. This only supported on some platforms where the
+ backtrace and backtrace_symbols_fd functions are available.
+
+set source open on|off
+show source open
+ This setting, which is on by default, controls whether GDB will try
+ to open source code files. Switching this off will stop GDB trying
+ to open and read source code files, which can be useful if the files
+ are located over a slow network connection.
+
+set varsize-limit
+show varsize-limit
+ These are now deprecated aliases for "set max-value-size" and
+ "show max-value-size".
+
+task apply [all | TASK-IDS...] [FLAG]... COMMAND
+ Like "thread apply", but applies COMMAND to Ada tasks.
+
+watch [...] task ID
+ Watchpoints can now be restricted to a specific Ada task.
+
+maint set internal-error backtrace on|off
+maint show internal-error backtrace
+maint set internal-warning backtrace on|off
+maint show internal-warning backtrace
+ GDB can now print a backtrace of itself when it encounters either an
+ internal-error, or an internal-warning. This is on by default for
+ internal-error and off by default for internal-warning.
+
+set logging on|off
+ Deprecated and replaced by "set logging enabled on|off".
+
+set logging enabled on|off
+show logging enabled
+ These commands set or show whether logging is enabled or disabled.
+
+exit
+ You can now exit GDB by using the new command "exit", in addition to
+ the existing "quit" command.
+
+set debug threads on|off
+show debug threads
+ Print additional debug messages about thread creation and deletion.
+
+set debug linux-nat on|off
+show debug linux-nat
+ These new commands replaced the old 'set debug lin-lwp' and 'show
+ debug lin-lwp' respectively. Turning this setting on prints debug
+ messages relating to GDB's handling of native Linux inferiors.
+
+maint flush source-cache
+ Flush the contents of the source code cache.
+
+maint set gnu-source-highlight enabled on|off
+maint show gnu-source-highlight enabled
+ Whether GDB should use the GNU Source Highlight library for adding
+ styling to source code. When off, the library will not be used, even
+ when available. When GNU Source Highlight isn't used, or can't add
+ styling to a particular source file, then the Python Pygments
+ library will be used instead.
+
+* Changed commands
+
+maint packet
+ This command can now print a reply, if the reply includes
+ non-printable characters. Any non-printable characters are printed
+ as escaped hex, e.g. \x?? where '??' is replaces with the value of
+ the non-printable character.
+
+clone-inferior
+ The clone-inferior command now ensures that the TTY, CMD and ARGS
+ settings are copied from the original inferior to the new one.
+ All modifications to the environment variables done using the 'set
+ environment' or 'unset environment' commands are also copied to the new
+ inferior.
+
+set debug lin-lwp on|off
+show debug lin-lwp
+ These commands have been removed from GDB. The new command 'set
+ debug linux-nat' and 'show debug linux-nat' should be used
+ instead.
+
+* Python API
+
+ ** New function gdb.add_history(), which takes a gdb.Value object
+ and adds the value it represents to GDB's history list. An
+ integer, the index of the new item in the history list, is
+ returned.
+
+ ** New gdb.events.gdb_exiting event. This event is called with a
+ gdb.GdbExitingEvent object which has the read-only attribute
+ 'exit_code', which contains the value of the GDB exit code. This
+ event is triggered once GDB decides it is going to exit, but
+ before GDB starts to clean up its internal state.
+
+ ** New function gdb.architecture_names(), which returns a list
+ containing all of the possible Architecture.name() values. Each
+ entry is a string.
+
+ ** New function gdb.Architecture.integer_type(), which returns an
+ integer type given a size and a signed-ness.
+
+ ** New gdb.TargetConnection object type that represents a connection
+ (as displayed by the 'info connections' command). A sub-class,
+ gdb.RemoteTargetConnection, is used to represent 'remote' and
+ 'extended-remote' connections.
+
+ ** The gdb.Inferior type now has a 'connection' property which is an
+ instance of gdb.TargetConnection, the connection used by this
+ inferior. This can be None if the inferior has no connection.
+
+ ** New 'gdb.events.connection_removed' event registry, which emits a
+ 'gdb.ConnectionEvent' when a connection is removed from GDB.
+ This event has a 'connection' property, a gdb.TargetConnection
+ object for the connection being removed.
+
+ ** New gdb.connections() function that returns a list of all
+ currently active connections.
+
+ ** New gdb.RemoteTargetConnection.send_packet(PACKET) method. This
+ is equivalent to the existing 'maint packet' CLI command; it
+ allows a user specified packet to be sent to the remote target.
+
+ ** New function gdb.host_charset(), returns a string, which is the
+ name of the current host charset.
+
+* New features in the GDB remote stub, GDBserver
+
+ ** GDBserver is now supported on OpenRISC GNU/Linux.
+
+* New native configurations
+
+GNU/Linux/OpenRISC or1k*-*-linux*
+
+*** Changes in GDB 11
* The 'set disassembler-options' command now supports specifying options
for the ARC target.
all locations of the selected breakpoint. This is equivalent to
the '-force' flag of the CLI's "cond" command.
+ ** '-file-list-exec-source-files [--group-by-objfile]
+ [--basename | --dirname]
+ [--] [REGEXP]'
+
+ The existing -file-list-exec-source-files command now takes an
+ optional REGEXP which is used to filter the source files that are
+ included in the results.
+
+ By default REGEXP is matched against the full filename of the
+ source file. When one of --basename or --dirname is given then
+ REGEXP is only matched against the specified part of the full
+ source filename.
+
+ When the optional --group-by-objfile flag is used the output
+ format is changed, the results are now a list of object files
+ (executable and libraries) with the source files that are
+ associated with each object file.
+
+ The results from -file-list-exec-source-files now include a
+ 'debug-fully-read' field which takes the value 'true' or 'false'.
+ A 'true' value indicates the source file is from a compilation
+ unit that has had its debug information fully read in by GDB, a
+ value of 'false' indicates GDB has only performed a partial scan
+ of the debug information so far.
+
* GDB now supports core file debugging for x86_64 Cygwin programs.
* GDB will now look for the .gdbinit file in a config directory before
registers of a target. The precise requirements of this register
feature are documented in the GDB manual.
+* For ARM targets, the "org.gnu.gdb.arm.m-profile-mve" feature is now
+ supported by GDB and describes a new VPR register from the ARM MVE
+ (Helium) extension. See the GDB manual for more information.
+
+* TUI improvements
+
+ ** TUI windows now support mouse actions. The mouse wheel scrolls
+ the appropriate window.
+
+ ** Key combinations that do not have a specific action on the
+ focused window are passed to GDB. For example, you now can use
+ Ctrl-Left/Ctrl-Right to move between words in the command window
+ regardless of which window is in focus. Previously you would
+ need to focus on the command window for such key combinations to
+ work.
+
* New commands
set debug event-loop
maintenance info target-sections
Print GDB's internal target sections table.
+maintenance info jit
+ Print the JIT code objects in the inferior known to GDB.
+
memory-tag show-logical-tag POINTER
Print the logical tag for POINTER.
memory-tag with-logical-tag POINTER TAG
offsets of struct members. Default behavior is given by 'show print
type hex'.
+info sources
+ The info sources command output has been restructured. The results
+ are now based around a list of objfiles (executable and libraries),
+ and for each objfile the source files that are part of that objfile
+ are listed.
+
* Removed targets and native configurations
ARM Symbian arm*-*-symbianelf*
value-reference-value, value-rvalue-reference-value and
value-const-value.
+ ** Temporary breakpoints can now be created with make-breakpoint and
+ tested for using breakpoint-temporary?.
+
* Python API
** Inferior objects now contain a read-only 'connection_num' attribute that
** New method gdb.PendingFrame.level() which returns the stack level
of the frame object.
+ ** When hitting a catchpoint, the Python API will now emit a
+ gdb.BreakpointEvent rather than a gdb.StopEvent. The
+ gdb.Breakpoint attached to the event will have type BP_CATCHPOINT.
+
+ ** Python TUI windows can now receive mouse click events. If the
+ Window object implements the click method, it is called for each
+ mouse click event in this window.
+
*** Changes in GDB 10
* There are new feature names for ARC targets: "org.gnu.gdb.arc.core"
GNU/Linux/RISC-V (gdbserver) riscv*-*-linux*
BPF bpf-unknown-none
+Z80 z80-unknown-*
* Python API