The release of GDB Debugger 14.1 has been announced (the first release of the 14.x series, the 14.0 branch 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.) on various hardware (i386, amd64, ARM, Power, Sparc, RISC-V, etc.) and software platforms (GNU/Linux, *BSD, Unix, Windows, macOS).
Key Improvements:
- The codebase has been transitioned to use the C++17 standard. A compiler that supports C++17 (at least GCC 9) is now required to build GDB.
- Information about the main function has been added to the index, allowing faster startup when used with some large executable files.
- Support for AIX 4.x, 5.x, and 6.x has been discontinued (the minimum supported version of AIX is now version 7.1).
- Initial built-in support for the DAP (Debugger Adapter Protocol) has been added.
- Support for the NO_COLOR environment variable has been added.
- Initial support for integer types larger than 64 bits has been added.
- Support for breakpoints tied to specific debugging objects (when debugging multiple processes) has been added.
- A ‘$_shell’ function has been introduced to execute a command in the shell and return the result.
- Improvements have been made to the Python API:
- Classes gdb.Thread, gdb.unwinder.FrameId, and gdb.ValuePrinter have been added.
- Attributes gdb.Inferior.arguments, gdb.Inferior.main_name, gdb.Breakpoint.inferior, gdb.Progspace.symbol_file, and gdb.Progspace.executable_filename have been added.
- Functions gdb.execute_mi(COMMAND, [ARG]…) and gdb.block_signals() have been added.
- Methods gdb.Frame.static_link, gdb.Inferior ‘clear_env’, ‘set_env’, and ‘unset_env’, gdb.Type ‘is_array_like’ and ‘is_string_like’, gdb.Value ‘assign’, gdb.Value ‘to_array’, gdb.Progspace ‘objfile_for_address’, and gdb.LazyString __str__ have been added. Events gdb.ThreadExitedEvent, gdb.ExecutableChangedEvent, gdb.NewProgspaceEvent, and gdb.FreeProgspaceEvent have been added.
- The ability to enable and disable specific features for remote debugging targets has been added.
- Support for the AArch64 architecture has been enhanced. Support for the SME (Scalable Matrix Extension) and SME2 extensions has been added.
- Support for the Ada language and Ada 2022 specifications has been enhanced.
- The ‘list’ command has been updated to support the ‘.’ argument to output the location of the current execution point in the current stack frame.
- The printf and dprintf commands now include the format specifier ‘%V’.
- In the printf command, the size of the string extracted from the debugging object is limited by the ‘max-value-size’ setting.
- An assembly option "--additional-debug-dirs=PATH" has been added, setting the default value for the 'debug-file-directory' parameter.
- A new command "info main" has been added to retrieve the main symbol indicating the entry point of the program.
- New commands have been added:
- "set debug breakpoint on|off"
- "set tui mouse-events [on|off]"
- "set always-read-ctf on|off"
- "maintenance print record-instruction [N]"
- "maintenance info frame-unwinders"
- "maintenance wait-for-index-cache"
Source: opennet.ru
