Lanzamiento del depurador GDB 13

Se ha presentado la versión del depurador GDB 13.1 (la primera versión de la serie 13.x, se utilizó la rama 13.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++, D, Fortran, Go, Objective-C, Modula-2, Pascal, 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:

  • Se agregó soporte para ejecutar el depurador y el servidor GDB en arquitecturas GNU/Linux/LoongArch y GNU/Linux/CSKY.
  • Se ha implementado soporte para trabajar en la plataforma Windows en modo asíncrono (async).
  • En la plataforma FreeBSD, se agregó soporte para variables TLS (Thread Local Storage) para las arquitecturas ARM y AArch64, y se proporcionó la capacidad de usar puntos de interrupción de hardware (watchpoint) para la arquitectura AArch64.
  • En el entorno GNU/Linux en los sistemas LoongArch, se ha agregado soporte para cálculos de punto flotante.
  • Se implementaron nuevos comandos "mantenimiento set ignore-prologue-end-flag|libopcodes-styling" y "mantenimiento print frame-id", así como comandos para controlar el estilo de la salida desensamblada (establecer desensamblador de estilo *).
  • Se agregaron los comandos "establecer nibbles de impresión [activado|desactivado]" y "mostrar nibbles de impresión" para controlar la visualización de valores binarios en grupos de cuatro bytes.
  • Se han realizado mejoras en la API de Python. Se agregó una API para instrucciones de desmontaje, se implementó el tipo gdb.BreakpointLocation y se agregaron las funciones gdb.format_address, gdb.current_language y gdb.print_options.
  • La primera versión de la interfaz de administración GDB/MI ha quedado obsoleta y se eliminará en GDB 14.
  • Se agregó soporte para secciones de depuración comprimidas usando el algoritmo zstd en archivos ELF.
  • Se agregaron nuevas variables integradas: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • El formato de salida de los comandos 'desensamblar /r' y 'recordar historial de instrucciones /r' se ha ajustado para que coincida con la salida de objdump. Para devolver el formato anterior, se ha agregado el modo “/b”.
  • En la TUI (Interfaz de usuario de texto), el estilo del código fuente y ensamblador resaltado por el indicador de posición actual está deshabilitado.
  • Es posible utilizar el comando "documentar" para documentar los comandos del usuario.
  • Se agregó la capacidad de crear volcados con datos de etiquetas de memoria utilizados cuando se usa el mecanismo ARMv8.5 MTE (MemTag, Memory Tagging Extension), que le permite vincular etiquetas a cada operación de asignación de memoria y organizar una verificación del puntero al acceder a la memoria, que debe ser asociado con la etiqueta correcta.
  • El modo de compatibilidad DBX ha sido descontinuado.
  • Se ha descontinuado el soporte para compilar usando Python 2.
  • Se han eliminado los comandos “set debug aix-solib on|off”, “show debug aix-solib”, “set debug solib-frv on|off” y “show debug solib-frv”, y los comandos “set/show debug” debería usarse en lugar de solib."

Fuente: opennet.ru

Añadir un comentario