The debugging of the debugger gdb 14.1 (the first production of the 14.x series, branch 14.0 was used for development) was presented. GDB supports debugging at the level of source texts 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 code base is transferred to the use of the C ++ 17 standard. The GCC assembly is now necessary for a compiler that supports C ++ 17 (at least GCC 9).
- Information about the Main function has been added to the index, which allows you to accelerate the launch when used with some large files.
- Standing support for AIX 4.x, 5.x and 6.x (as the minimum supported version of the AIX, release 7.1).
- The initial built-in support of the protocol dap (Debugger Adapter Protocol).
- Added support for the environment of the environment no_color.
- The initial support of integer types has been added, the size of more than 64 bits.
- Added support for stopping points, attached to individual objects debugging (when debugging several processes).
- Added the function “$ _Shell” to launch a command membrane and return the result.
- Improvements are made to the Python API:
- Added classes gdb.thread, gdb.unwinder.frameid and gdb.valueprinter.
- Added attributes GDB.inferior.argments, gdb.inferior.main_name, gdb.breakpoint.inferior, gdb.progspace.symbol_file, gdb.progspace.exectable_filename.
- Functions added gdb.execute_mi (Command, [Arg] …), gdb.block_signals ().
- 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
/Reports, release notes, official announcements.