Lanzamiento del depurador GDB 13

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

Mejoras clave:

  • Se ha añadido soporte para la ejecución del depurador y GDBserver en las arquitecturas GNU/Linux/LoongArch y GNU/Linux/CSKY.
  • Se ha implementado el soporte para trabajar en la plataforma Windows en modo asíncrono (async).
  • En la plataforma FreeBSD para las arquitecturas ARM y AArch64, se ha añadido soporte para variables TLS (Thread Local Storage), y para la arquitectura AArch64 se ha proporcionado la posibilidad de utilizar puntos de ruptura de hardware (watchpoint).
  • En el entorno GNU/Linux en sistemas LoongArch, se ha añadido soporte para cálculos de punto flotante.
  • Se han implementado nuevos comandos 'maintenance set ignore-prologue-end-flag|libopcodes-styling' y 'maintenance print frame-id', así como comandos para gestionar el estilo de la salida desensamblada (set style disassembler *).
  • Se han añadido los comandos 'set print nibbles [on|off]' y 'show print nibbles' para controlar la visualización de valores binarios en grupos de cuatro bytes.
  • Se han realizado mejoras en la API de Python. Se ha añadido una API para la desensamblaje de instrucciones, se ha implementado el tipo gdb.BreakpointLocation, y se han añadido funciones gdb.format_address, gdb.current_language y gdb.print_options.
  • En la interfaz de control GDB/MI, se ha declarado obsoleta la primera versión de la interfaz MI, que será eliminada en la rama GDB 14.
  • Se ha añadido soporte para secciones de depuración comprimidas utilizando el algoritmo zstd en archivos ELF.
  • Se han añadido nuevas variables integradas: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • El formato de salida de los comandos ‘disassemble /r’ y ‘record instruction-history /r’ ha sido alineado con la salida de objdump. Para devolver el formato antiguo, se ha añadido el modo ‘/b’.
  • En la interfaz TUI (Interfaz de usuario de texto), se ha desactivado la estilización del código fuente y ensamblador resaltado por el indicador de posición actual.
  • Se ha proporcionado la posibilidad de usar el comando 'document' para documentar comandos de usuario.
  • Se ha añadido la capacidad de crear volcado de datos de etiquetas de memoria, que se utilizan con el mecanismo ARMv8.5 MTE (MemTag, Memoria de Etiquetas), que permite asociar etiquetas con cada operación de asignación de memoria y organizar una verificación de punteros al acceder a la memoria que debe estar vinculada a la etiqueta correcta.
  • Se ha descontinuado el soporte para el modo de compatibilidad con DBX.
  • Se ha descontinuado el soporte para compilaciones que utilizan 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», en su lugar se deben utilizar los comandos «set/show debug solib».

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster