The GDB 12.1 debugger release has been presented (the first release of the 12.x series, with the 12.0 branch used for development). GDB supports debugging at the source code level for a wide range of programming languages (Ada, C, C++, Objective-C, Pascal, Go, Rust, etc.) on various hardware platforms (i386, amd64, ARM, Power, Sparc, RISC-V, etc.) and software platforms (GNU/Linux, *BSD, Unix, Windows, macOS).
Key Improvements:
- The multithreaded mode for loading debug symbols is enabled by default, speeding up startup.
- Improved support for C++ templates.
- Support for asynchronous operation (async) on the FreeBSD platform has been implemented.
- The option to disable the use of GNU Source Highlight and activate the Pygments library for syntax highlighting has been provided.
- In the âclone-inferiorâ command, the copying of TTY, CMD, and ARGS settings from the original debug object (inferior) to the new debug object is implemented. It also ensures the copying of all environment variable changes made using the âset environmentâ or âunset environmentâ commands to the new debug object.
- The âprintâ command now supports the output of floating-point numbers with a specified base value format, for example, in hexadecimal (â/xâ).
- Support for running the debugger and GDBserver on the GNU/Linux/OpenRISC architecture (or1k*-*-linux*) has been added. Support for debugging applications targeting the GNU/Linux/LoongArch platform (loongarch*-*-linux*) has been introduced. Support for the S+core target platform (score-*-*) has been discontinued.
- GDB 12 is announced as the last release for which building with Python 2 is supported.
- Compatibility with DBX has been deprecated and will be removed in GDB 13.
- In the GDB/MI management interface, the command â-add-inferiorâ can be used without parameters or along with the â--no-connectionâ flag to inherit the connection from the current debug object or to run without a connection.
- Improvements have been made to the Python API. The ability to implement GDB/MI commands in Python has been provided. New events gdb.events.gdb_exiting and gdb.events.connection_removed, function gdb.Architecture.integer_type(), object gdb.TargetConnection, property gdb.Inferior.connection, method gdb.RemoteTargetConnection.send_packet, and attributes gdb.InferiorThread.details, gdb.Type.is_scalar, and gdb.Type.is_signed have been added.
Source: opennet.ru
