Lanzamiento del depurador GDB 11

Se ha presentado el lanzamiento del depurador GDB 11.1 (el primer lanzamiento de la serie 11.x, la rama 11.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++, Objective-C, Pascal, Go, 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 acciones del ratón y capacidades de desplazamiento del contenido con la rueda del ratón en la interfaz TUI (Interfaz de Usuario de Texto). Se proporciona la transmisión de combinaciones de teclas a GDB que no son procesadas en TUI.
  • Se ha añadido soporte para el mecanismo ARMv8.5 MTE (MemTag, Extensión de Etiquetado de Memoria), que permite vincular etiquetas a cada operación de asignación de memoria y organizar la verificación del puntero al acceder a la memoria, que debe estar relacionada con la etiqueta correcta. En el protocolo de control remoto de depuración se ha añadido soporte para los paquetes «qMemTags» y «QMemTags» para vincular etiquetas a la memoria.
  • Se ha modificado la lógica de lectura de archivos de configuración. Ahora el archivo .gdbinit se verifica en el siguiente orden: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit y $HOME/.gdbinit. Es decir, primero en el subdirectorio de configuración y luego en el directorio personal.
  • En el comando «break […] if CONDITION» se ha detenido la salida de errores en caso de que la condición no sea válida en ciertos lugares, si la condición es válida en al menos un caso.
  • Se ha añadido soporte para la depuración de núcleos (core dumps) generados para programas de Cygwin compilados para la arquitectura x86_64.
  • Se ha añadido soporte para tipos de punto fijo, así como las constantes DW_AT_GNU_numerator y DW_AT_GNU_denominator.
  • Se ha añadido la configuración «startup-quietly on|off»; cuando se establece en «on», es similar a la opción «-silent».
  • En el comando «ptype» se han implementado las opciones «/x» y «/d» para seleccionar la representación hexadecimal o decimal al mostrar tamaños y desplazamientos. Se ha añadido la configuración «print type hex on|off» para utilizar valores hexadecimales en la salida del comando ‘ptype’.
  • En el comando «inferior», al ser llamado sin argumentos, se muestra el objeto de depuración actual (inferior).
  • Se ha rediseñado la salida del comando «info source».
  • Se ha añadido el comando «style version foreground | background | intensity» para controlar el estilo de numeración de versiones.
  • Se han añadido nuevas opciones de línea de comandos: «—early-init-command» («-eix»), «—early-init-eval-command» («-eiex»), «—qualified» (para los comandos ‘-break-insert’ y ‘-dprintf-insert’), «—force-condition» (para los comandos ‘-break-insert’ y ‘-dprintf-insert’), «—force» (para el comando ‘-break-condition’).
  • En el equipo de ‘-file-list-exec-source-files’ se permite la especificación de expresiones regulares para filtrar los archivos fuente procesados. Se ha añadido el campo ‘debug-fully-read’ a la salida para informar sobre el grado de carga de la información de depuración.
  • Se han mejorado las API de Python. Se han añadido nuevos métodos gdb.Frame.level() y db.PendingFrame.level() para devolver el nivel de pila del objeto Frame. Cuando se activa un punto de captura (catchpoint), se garantiza la transmisión de gdb.BreakpointEvent en lugar de gdb.StopEvent en la API de Python. Se han añadido las configuraciones ‘python ignore-environment on|off’ para ignorar las variables de entorno y ‘python dont-write-bytecode auto|on|off’ para desactivar la escritura de bytecode.
  • Se han mejorado las API de Guile. Se han añadido nuevos procedimientos value-reference-value, value-rvalue-reference-value y value-const-value.
  • Se ha incluido la biblioteca GMP (GNU Multiple Precision Arithmetic) en las dependencias de compilación obligatorias.
  • Se ha dejado de dar soporte a la plataforma ARM Symbian (arm*-*-symbianelf*).

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