GDB Debugger Unveils Release 18

The latest debugger release, GDB 18.1, has been presented, marking the first release of the 18.x series with the earlier 18.0 branch used for development. GDB boasts source-level debugging capabilities for a diverse array of programming languages, including C, C++, D, Go, Objective-C, Fortran, OpenCL C, Pascal, Rust, Assembly, Modula-2, and Ada, across a wide range of hardware platforms such as i386, amd64, ARM, Power, Sparc, RISC-V, and LoongArch, as well as software platforms like GNU/Linux, *BSD, Unix, Windows, and macOS.

Some of the most notable improvements in this release include:

  • Added support for GNU/Linux/MicroBlaze (microblazeel-*linux*) and AArch64 MinGW platforms (aarch64-*-mingw*), while deprecating the 32-bit s390 architecture (s390-*) for removal.
  • For Windows, new features include non-stop mode support for Windows 10 and newer, scheduler locking with the “set scheduler-locking on” command, and native TLS (Thread Local Storage) variables. Additionally, GDB now supports 24-bit colors, emoji, and UTF-8 encoding in Windows Terminal. File path normalization using slashes in CLI, TUI, MI, and DAP interfaces is now enforced to maintain consistency.
  • All debug type symbols are now included in the .gdb_index index to address issues with type searches.
  • The “info locals” command now highlights external variables overridden by internal ones through the “shadowed” annotation. Users can control the display using the new “set print shadowed on|off” setting.
  • Commands like “set args”, “run”, “start”, and “starti” now support passing arguments with newline characters enclosed in quotes. Additionally, the “–no-escape-args” flag is introduced to disable escaping special characters in arguments.
  • Support for the FPMR register on the AArch64 architecture and initial support for loading core files from systems with Intel AMX support have been added.
  • GDB now supports trace events processed by the libipt 2.2 library and allows users to specify non-standard baud rates for debugging via a serial port.
  • An “essential” mode has been introduced to the help command, offering new users an overview of essential commands they may need.
  • Several new commands have been added for enhanced functionality, including set/show/un
/Reports, release notes, official announcements.