*** Changes since GDB 13
+* The AArch64 'org.gnu.gdb.aarch64.pauth' Pointer Authentication feature string
+ has been deprecated in favor of the 'org.gnu.gdb.aarch64.pauth_v2' feature
+ string.
+
* GDB now has some support for integer types larger than 64 bits.
* Removed targets and native configurations
break foo thread 1 task 1
watch var thread 2 task 3
+* The printf command now accepts a '%V' output format which will
+ format an expression just as the 'print' command would. Print
+ options can be placed withing '[...]' after the '%V' to modify how
+ the value is printed. E.g:
+ printf "%V", some_array
+ printf "%V[-array-indexes on]", some_array
+ will print the array without, or with array indexes included, just
+ as the array would be printed by the 'print' command. This
+ functionality is also available for dprintf when dprintf-style is
+ 'gdb'.
+
+* When the printf command requires a string to be fetched from the
+ inferior, GDB now uses the existing 'max-value-size' setting to the
+ limit the memory allocated within GDB. The default 'max-value-size'
+ is 64k. To print longer strings you should increase
+ 'max-value-size'.
+
+* The Ada 2022 Enum_Rep and Enum_Val attributes are now supported.
+
+* The Ada 2022 target name symbol ('@') is now supported by the Ada
+ expression parser.
+
+* The 'list' command now accepts '.' as an argument, which tells GDB to
+ print the location where the inferior is stopped. If the inferior hasn't
+ started yet, the command will print around the main function.
+
+* Using the 'list' command with no arguments in a situation where the
+ command would attempt to list past the end of the file now warns the
+ user that the end of file has been reached, refers the user to the
+ newly added '.' argument
+
+* Breakpoints can now be inferior-specific. This is similar to the
+ existing thread-specific breakpoint support. Breakpoint conditions
+ can include the 'inferior' keyword followed by an inferior id (as
+ displayed in the 'info inferiors' output). It is invalid to use the
+ 'inferior' keyword with either the 'thread' or 'task' keywords when
+ creating a breakpoint.
+
* New commands
+set debug breakpoint on|off
+ show debug breakpoint
+ Print additional debug messages about breakpoint insertion and removal.
+
maintenance print record-instruction [ N ]
Print the recorded information for a given instruction. If N is not given
prints how GDB would undo the last instruction executed. If N is negative,
When off, CTF is only read if DWARF is not present. When on, CTF is
read regardless of whether DWARF is present. Off by default.
+info main
+ Get main symbol to identify entry point into program.
+
* New convenience function "$_shell", to execute a shell command and
return the result. This lets you run shell commands in expressions.
Some examples:
without a thread restriction. The same is also true for the 'task'
field of an Ada task-specific breakpoint.
+** It is no longer possible to create a thread-specific breakpoint for
+ a thread that doesn't exist using '-break-insert -p ID'. Creating
+ breakpoints for non-existent threads is not allowed when using the
+ CLI, that the MI allowed it was a long standing bug, which has now
+ been fixed.
+
+** The '--simple-values' argument to the '-stack-list-arguments',
+ '-stack-list-locals', '-stack-list-variables', and '-var-list-children'
+ commands now takes reference types into account: that is, a value is now
+ considered simple if it is neither an array, structure, or union, nor a
+ reference to an array, structure, or union. (Previously all references were
+ considered simple.) Support for this feature can be verified by using the
+ '-list-features' command, which should contain "simple-values-ref-types".
+
+** The -break-insert command now accepts a '-g thread-group-id' option
+ to allow for the creation of inferior-specific breakpoints.
+
+** The bkpt tuple, which appears in breakpoint-created notifications,
+ and in the result of the -break-insert command can now include an
+ optional 'inferior' field for both the main breakpoint, and each
+ location, when the breakpoint is inferior-specific.
+
* Python API
+ ** gdb.ThreadExitedEvent added. Emits a ThreadEvent.
+
** The gdb.unwinder.Unwinder.name attribute is now read-only.
** The name argument passed to gdb.unwinder.Unwinder.__init__ must
(program-counter) values, and can be used as the frame-id when
calling gdb.PendingFrame.create_unwind_info.
+ ** It is now no longer possible to sub-class the
+ gdb.disassembler.DisassemblerResult type.
+
+ ** The Disassembler API from the gdb.disassembler module has been
+ extended to include styling support:
+
+ - The DisassemblerResult class can now be initialized with a list
+ of parts. Each part represents part of the disassembled
+ instruction along with the associated style information. This
+ list of parts can be accessed with the new
+ DisassemblerResult.parts property.
+
+ - New constants gdb.disassembler.STYLE_* representing all the
+ different styles part of an instruction might have.
+
+ - New methods DisassembleInfo.text_part and
+ DisassembleInfo.address_part which are used to create the new
+ styled parts of a disassembled instruction.
+
+ - Changes are backwards compatible, the older API can still be
+ used to disassemble instructions without styling.
+
+ ** New function gdb.execute_mi(COMMAND, [ARG]...), that invokes a
+ GDB/MI command and returns the output as a Python dictionary.
+
+ ** New function gdb.block_signals(). This returns a context manager
+ that blocks any signals that GDB needs to handle itself.
+
+ ** New class gdb.Thread. This is a subclass of threading.Thread
+ that calls gdb.block_signals in its "start" method.
+
+ ** gdb.parse_and_eval now has a new "global_context" parameter.
+ This can be used to request that the parse only examine global
+ symbols.
+
+ ** gdb.Inferior now has a new "arguments" attribute. This holds the
+ command-line arguments to the inferior, if known.
+
+ ** gdb.Inferior now has a new "main_name" attribute. This holds the
+ name of the inferior's "main", if known.
+
+ ** gdb.Inferior now has new methods "clear_env", "set_env", and
+ "unset_env". These can be used to modify the inferior's
+ environment before it is started.
+
+ ** gdb.Value now has the 'assign' method.
+
+ ** gdb.Value now has the 'to_array' method. This converts an
+ array-like Value to an array.
+
+ ** gdb.Progspace now has the new method "objfile_for_address". This
+ returns the gdb.Objfile, if any, that covers a given address.
+
+ ** gdb.Breakpoint now has an "inferior" attribute. If the
+ Breakpoint object is inferior specific then this attribute holds
+ the inferior-id (an integer). If the Breakpoint object is not
+ inferior specific, then this field contains None. This field can
+ be written too.
+
+ ** gdb.Type now has the "is_array_like" and "is_string_like"
+ methods. These reflect GDB's internal idea of whether a type
+ might be array- or string-like, even if they do not have the
+ corresponding type code.
+
*** Changes in GDB 13
* MI version 1 is deprecated, and will be removed in GDB 14.