The release of the GDB 15.1 debugger has been announced (the first release of the 15.x series, with the 15.0 branch 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.) on various hardware (i386, amd64, ARM, Power, Sparc, RISC-V, etc.) and software platforms (GNU/Linux, *BSD, Unix, Windows, macOS).
Key Improvements:
- Building GDB and GDBserver now requires a compiler that supports C++17 (at least GCC 9).
- Improvements have been made to the Python API. New functions gdb.notify_mi, gdb.missing_debug.register_handler, and gdb.interrupt, class gdb.missing_debug.MissingDebugInfo, module db.missing_debug, attributes gdb.Value.bytes and gdb.InferiorThread.ptid_string, constants gdb.SYMBOL_TYPE_DOMAIN, gdb.SYMBOL_FUNCTION_DOMAIN, and gdb.SEARCH_*_DOMAIN have been added. The ability to add custom attributes has been implemented in gdb.Inferior and gdb.InferiorThread objects.
- The implementation of the DAP (Debugger Adapter Protocol) has continued. The command 'set debug dap-log-level' has been added to control logging for DAP. Support for the 'cancel' request and the ability to generate a 'process' event have been added.
- Support for the QThreadOptions and qIsAddressTagged packets has been added to the remote debugging protocol, and the command 'set/show remote thread-options-packet' has been implemented.
- Support for the options '--remote-debug' and '--event-loop-debug' has been discontinued in GDBserver, as well as the commands 'monitor set remote-debug' and 'monitor set event-loop-debug'. Instead, the '--debug' option has been implemented with the ability to pass a comma-separated list of components to debug (all, threads, event-loop, and remote). Similar capabilities for specifying components have been implemented in the 'monitor set debug' command.
- Information about the main function has been added to the index, allowing faster startup when used with some large executable files.
- The MPX commands 'show/set mpx bound' have been deprecated, with support discontinued by Intel in 2019.
- New commands have been added:
- 'set/show direct-call-timeout'
- 'set/show indirect-call-timeout'
- 'set/show unwind-on-timeout on|off'
- 'set/show unwind-on-signal on|off'
- Support for optimizing the storage of empty areas in the generated core files has been added to the 'gcore' and 'generate-core-file' commands.
Source: opennet.ru
