Lanzamiento del depurador GDB 12

Se ha presentado el lanzamiento del depurador GDB 12.1 (el primer lanzamiento de la serie 12.x, se utilizó la rama 12.0 para el desarrollo). GDB admite la depuración a nivel de fuente para una amplia gama de lenguajes de programación (Ada, C, C++, Objective-C, Pascal, Go, Rust, etc.) en varios hardware (i386, amd64, ARM, Power, Sparc, RISC - V, etc.) y plataformas de software (GNU/Linux, *BSD, Unix, Windows, macOS).

Mejoras clave:

  • De forma predeterminada, el modo multiproceso para cargar símbolos de depuración está habilitado, lo que acelera el inicio.
  • Soporte mejorado para plantillas de C++.
  • Se ha implementado soporte para trabajar en la plataforma FreeBSD en modo asíncrono (async).
  • Es posible deshabilitar el uso de GNU Source Highlight y usar la biblioteca Pygments para resaltar la sintaxis.
  • El comando "clone-inferior" verifica que las configuraciones TTY, CMD y ARGS se copien del objeto de depuración original (inferior) al nuevo objeto de depuración. También se garantiza que todos los cambios en las variables de entorno realizados mediante los comandos 'establecer entorno' o 'desarmar entorno' se copien en el nuevo objeto de depuración.
  • El comando "imprimir" brinda soporte para imprimir números de punto flotante, especificando el formato del valor subyacente, como hexadecimal ("/x").
  • Se agregó soporte para ejecutar el depurador y el servidor GDB en la arquitectura GNU/Linux/OpenRISC (o 1k*-*-linux*). Se agregó soporte para depurar aplicaciones para la plataforma de destino GNU/Linux/LoongArch (loongarch*-*-linux*). Se ha interrumpido el soporte para la plataforma de destino S+core (score-*-*).
  • GDB 12 se anuncia como la última versión que admite la compilación con Python 2.
  • Está en desuso y se eliminará en el modo de compatibilidad GDB 13 DBX.
  • La interfaz de administración GDB/MI permite el uso del comando '-add-inferior' sin parámetros o junto con el indicador '--no-connection' para heredar una conexión del objeto de depuración actual o ejecutar sin conexión.
  • Se han realizado mejoras en la API de Python. Se proporciona la capacidad de implementar comandos GDB/MI en Python. Se agregaron nuevos eventos gdb.events.gdb_exiting y gdb.events.connection_removed, función gdb.Architecture.integer_type(), objeto gdb.TargetConnection, propiedad gdb.Inferior.connection, método gdb.RemoteTargetConnection.send_packet y atributos gdb.InferiorThread.details. gdb.Type.is_scalar y gdb.Type.is_signed.

Fuente: opennet.ru

Añadir un comentario