Release of Debugger GDB 18

The release of GDB 18.1 has been presented (the first release of the 18.x series, with the 18.0 branch used for development). GDB supports debugging at the source level for a wide range of programming languages (C, C++, D, Go, Objective-C, Fortran, OpenCL C, Pascal, Rust, assembler, Modula-2, and Ada) on various hardware (i386, amd64, ARM, Power, Sparc, RISC-V, LoongArch, etc.) and software platforms (GNU/Linux, *BSD, Unix, Windows, macOS).

Most notable improvements:

  • Support has been added for GNU/Linux/MicroBlaze (microblazeel-*linux*) and AArch64 MinGW (aarch64-*-mingw*). The 32-bit architecture s390 (s390-*) has been marked as deprecated and is scheduled for removal.
  • For the Windows platform, support for the 'non-stop' mode (for Windows 10 and newer), scheduler locking with the command 'set scheduler-locking on', and native TLS (Thread Local Storage) variables has been implemented. When launched in Windows Terminal, support for 24-bit colors, emojis, and UTF-8 encoding is provided. Slash normalization in file paths has been enabled in CLI, TUI, MI, and DAP interfaces (always using C:/proj/src/main.c instead of C:/proj/src\main.c).
  • To resolve type lookup issues, all debugging symbols for types are now added to the .gdb_index.
  • In the 'info locals' command, the 'shadowed' annotation is displayed for external variables overshadowed by internal variables with the same name. A configuration option 'set print shadowed on|off' has been added to control the output.
  • In the 'set args', 'run', 'start', and 'starti' commands, it is now possible to pass arguments containing newline characters enclosed in quotes.
  • A flag '--no-escape-args' has been added to GDB and gdbserver to disable the escaping of special characters in arguments.
  • Support for the FPMR (Floating Point Mode Register) has been implemented for the AArch64 architecture.
  • Initial support for loading core files generated on systems supporting Intel AMX has been added.
  • Support for tracing events processed by the libipt 2.2 library has been added.
  • When debugging through a serial port, the ability to specify non-standard baud rates has been added.
  • The help command has been enhanced with an 'essential' mode that provides an overview of the minimum set of commands that may be needed by a new GDB user.
  • New commands have been added:
    • set/show/unset local-environment — similar to 'set/show/unset environment', affecting the environment of subprocesses launched by GDB (for example, through shell or pipe).
    • save history, save skip, save user — saves the command history, skip operations, and user commands to a file.
    • info proc environ — shows the environment variables of the process.
    • set/show progress-bars enabled — controls the display of progress indicators.
    • delete skip, enable skip, disable skip — aliases for the skip delete/enable/disable commands.
    • set/show debug gnu-ifunc and set/show debug ctf.
  • Support for the first version of the DWP (DWARF Package File) format, stabs debugging information formats, and mdebug has been removed. The ability to save tracing results in CTF (Common Trace Format) has been discontinued.
  • The next version plans to separate Windows ABI modes for GNU (for code generated through the MinGW toolkit) and MSVC (for code compiled by MSVC and Clang compilers). To choose the Windows ABI in the 'set osabi' command, you will need to specify the values 'Windows-GNU' and 'Windows-MSVC.' The currently used Windows value will automatically select the appropriate mode depending on the '--target' argument (—target=x86_64-pc-windows-msvc or —target=x86_64-w64-mingw32).

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster