GDB 9 debugger release

Submitted by debugger release GDB 9.1 (the first release of the 9.x series, the 9.0 branch was used for development). GDB supports source-level debugging for a wide range of programming languages ​​(Ada, C, C++, Objective-C, Pascal, Go, etc.) on various hardware (i386, amd64, ARM, Power, Sparc, RISC-V and etc.) and software platforms (GNU/Linux, *BSD, Unix, Windows, macOS).

Key improvements:

  • Support for the Solaris 10 and Cell Broadband Engine platforms has been discontinued;
  • Added a new simulator of the PRU (Programmable Real-time Unit) subsystem used in Texas Instruments processors (pru-*-elf);
  • Added experimental fast loading of debug symbols in multithreaded mode (enabled via the 'maint set worker-threads unlimited' setting);
  • It is now possible to use the '.' character in command names;
  • Added the ability to set breakpoints on nested functions and subroutines in Fortran;
  • Work has been done to bring to a single style and improve the readability of commands;
  • Implemented standard infrastructure for passing command arguments using the dash character ('-OPT'), which allows using auto-completion with the tab key;
  • The "printf" and "eval" commands implement support for outputting strings in the C and Ada styles without directly calling the function in the program;
  • Support for filtering output files based on a regular expression has been added to the "info sources" command;
  • In the "set print frame-arguments" setting, the "presence" parameter is implemented, when set, only the presence indicator "..." is displayed for the arguments, instead of displaying the name and value;
  • In the interface TUI commands "focus", "winheight", "+", "-", ">", "<" are now case sensitive;
  • For commands "print", "compile print", "backtrace", "frame
    apply", "tfaas" and "faas" implemented options for overriding global settings (for example, set via "set print […]");

  • Added "-q" option to "info types" command to disable output of some headers;
  • In the settings, instead of the value "unlimited", you can now specify "u";
  • Added new commands:
    • "define-prefix" to define your own prefix commands;
    • "|" or "pipe" to run a command and redirect the output to a shell command;
    • "with" to run the specified command with temporarily changed settings;
    • "set may-call-functions" to control whether a subroutine can be called from GDB;
    • "set print finish [on|off]" to control the display of the return value when using the "finish" command;
    • "set print max-depth" to limit the output of nested structures;
    • "set print raw-values ​​[on|off]" to enable/disable formatting of output values;
    • "set logging debugredirect [on|off]" to control whether debug output is saved to a log file;
    • A series of new "set style" commands;
    • "set print frame-info […]" to define the information to print when displaying the stack frame status;
    • "set tui compact-source" to enable compact code display mode in TUI (Text User Interface);
    • "info modules […]" to query information about Fortran modules;
    • Instead of "set/show print raw frame-arguments", the command "set/show print raw-frame-arguments" is proposed (uses a dash instead of a space as a separator);
  • To the control software interface GDB/MI added new commands "-complete", "-catch-throw", "-catch-rethrow", "-catch-catch", "-symbol-info-functions", "-symbol-info-types",
    "-symbol-info-variables", "-symbol-info-modules", "-symbol-info-module-functions", and "-symbol-info-module-variables" equivalent to the equivalent GDB commands. By default, the third version of the MI interpreter is activated (-i=mi3);

  • Added new built-in variables:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Added "--with-system-gdbinit-dir" option to configure build script to specify path to gdbinit system files;
  • A number of improvements have been made to the Python API. Added ability to build with Python 3 on Windows;
  • Increased requirements for the assembly environment. Building GDB and GDBserver now requires at least GNU make 3.82. When building against the readline external library, at least GNU readline 7.0 is required.

Source: opennet.ru

Add a comment