GDB 11 debugger release

GDB 11.1 debugger released (first release of 11.x series, 11.0 branch used for development). GDB supports source-level debugging for a wide range of programming languages ​​(Ada, C, C++, Objective-C, Pascal, Go, Rust, etc.) on various hardware (i386, amd64, ARM, Power, Sparc, RISC- V, etc.) and software platforms (GNU/Linux, *BSD, Unix, Windows, macOS).

Key improvements:

  • In the TUI (Text User Interface) interface, support for mouse actions and the ability to scroll content with the mouse wheel has been added. Provided forwarding in GDB of key combinations that are not processed in TUI.
  • Added support for the ARMv8.5 MTE (MemTag, Memory Tagging Extension) mechanism, which allows you to bind tags to each memory allocation operation and organize a check of the pointer when accessing the memory, which must be associated with the correct tag. The remote debugging protocol for binding tags to memory provides support for the "qMemTags" and "QMemTags" packages.
  • Changed the logic of reading configuration files. The .gdbinit file is now checked in the following order: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit and $HOME/.gdbinit. Those. first in the config subdirectory, and only then in the home directory.
  • In the "break […] if CONDITION" command, the error output is stopped when the condition is invalid in certain places, if the condition is valid in at least one case.
  • Added support for debugging core dumps generated for Cygwin programs built for the x86_64 architecture.
  • Added support for fixed-point types, as well as DW_AT_GNU_numerator and DW_AT_GNU_denominator constants.
  • Added "startup-quietly on|off" setting; when "on", similar to the "-silent" option.
  • The "ptype" command implements the /x" and "/d" options to select hexadecimal or decimal for displaying sizes and offsets. Added setting "print type hex on|off" to use hexadecimal values ​​in the output of the 'ptype' command.
  • In the "inferior" command, when called without arguments, the output of the current debug object (inferior) is provided.
  • The output of the "info source" command has been reworked.
  • Added command "style version foreground | background | intensity" to control the version numbering style.
  • Added new command line options: "--early-init-command" ("-eix"), "--early-init-eval-command" ("-eiex"), "--qualified" (for '-break-insert ' and '-dprintf-insert'), "--force-condition" (for '-break-insert' and '-dprintf-insert' commands), "--force" (for '-break-condition' command).
  • The '-file-list-exec-source-files' command allows regular expressions to filter out processed source files. Added a 'debug-fully-read' field to the output to indicate how much debugging information is being loaded.
  • Improvements have been made to the Python API. Added new methods gdb.Frame.level() and db.PendingFrame.level() to return the stack level for a Frame object. When a catchpoint is triggered, the Python API provides gdb.BreakpointEvent to be passed instead of gdb.StopEvent. Added settings "python ignore-environment on|off" to ignore environment variables and "python dont-write-bytecode auto|on|off" to disable bytecode writing.
  • Improvements have been made to the Guile API. New procedures value-reference-value, value-rvalue-reference-value, and value-const-value have been added.
  • The required build dependencies include the GMP (GNU Multiple Precision Arithmetic) library.
  • Support for the ARM Symbian platform has been dropped (arm*-*-symbianelf*).

Source: opennet.ru

Add a comment