The release of GDB Debugger 16.1 has been announced (the first release of the 16.x series, branch 16.0 was used for development). GDB supports source-level debugging for a wide range of programming languages (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, etc.) across various hardware (i386, amd64, ARM, Power, Sparc, RISC-V, LoongArch, etc.) and software platforms (GNU/Linux, *BSD, Unix, Windows, macOS).
Most notable improvements:
- Support for record and replay has been implemented for Linux environments on systems with LoongArch architecture.
- For tagged pointers, where some bits are used to store additional data, support for breakpoints that trigger on data changes (watchpoints) has been implemented.
- Support for debugging the MTE (Memory Tagging Extension) protection mechanism has been implemented on AArch64 architecture systems. MTE allows tags to be linked to memory areas and facilitates pointer validity checks to prevent exploitation of vulnerabilities caused by improper memory handling.
- A new bash script gstack has been added, using GDB to output stack traces of running processes.
- For pending breakpoints, the keywords 'thread' and 'task' are now parsed at the time of breakpoint creation, rather than after exiting the pending state.
- Breakpoints tied to threads now only apply to the area of the program where the necessary thread executes.
- Tracing capabilities have been expanded on Intel processors: during step debugging, as well as in the 'record instruction-history' and 'record function-call-history' commands, asynchronous events and data saved using the ptwrite instruction are now output.
- The Python API now includes: the gdb.missing_objfile module, the gdb.tui_enabled event, the gdb.Symbol.is_artificial attribute, and the gdb.record.clear function.
- The DAP (Debugger Adapter Protocol) capabilities related to handling 'scopes', 'launch', and 'attach' requests have been enhanced.
- Support for 'vFile:stat' and 'x addr,length' packets has been added to the remote debugging protocol.
- Support for QNX Neutrino, Nios II, and Intel MPX has been discontinued.
Source: opennet.ru
