Lanzamiento del depurador GDB 11

Se ha presentado el lanzamiento del depurador GDB 11.1 (el primer lanzamiento de la serie 11.x, se utilizó la rama 11.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:

  • La TUI (Interfaz de usuario de texto) ha agregado soporte para acciones del mouse y la capacidad de desplazar el contenido con la rueda del mouse. Habilitado el reenvío de combinaciones de claves a GDB que no se procesan en TUI.
  • Se agregó soporte para 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 estar asociada con la etiqueta correcta. El protocolo de control de depuración remota brinda soporte para los paquetes “qMemTags” y “QMemTags” para vincular etiquetas a la memoria.
  • Se ha cambiado la lógica para leer archivos de configuración. El archivo .gdbinit ahora se verifica en el siguiente orden: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit y $HOME/.gdbinit. Aquellos. primero en el subdirectorio de configuración y solo luego en el directorio de inicio.
  • En el comando “romper […] si CONDICIÓN”, la salida de error se detiene cuando una condición no es válida en ciertos lugares, si la condición es válida en al menos un caso.
  • Se agregó soporte para depurar volcados de núcleo generados para programas Cygwin compilados para la arquitectura x86_64.
  • Se agregó soporte para tipos de punto fijo, así como las constantes DW_AT_GNU_numerator y DW_AT_GNU_denominator.
  • Se agregó la configuración de “inicio silencioso encendido/apagado”; cuando está "activado", similar a la opción "-silent".
  • El comando "ptype" implementa las opciones /x" y "/d" para seleccionar hexadecimal o decimal al mostrar tamaños y compensaciones. Se agregó la configuración "tipo de impresión hexadecimal activado|desactivado" para usar valores hexadecimales en la salida del comando 'ptype'.
  • En el comando "inferior", cuando se llama sin argumentos, se proporciona la salida del objeto de depuración actual (inferior).
  • Se ha modificado el resultado del comando “fuente de información”.
  • Se agregó el comando “estilo versión primer plano | fondo | intensidad" para controlar el estilo de numeración de la versión.
  • Se agregaron nuevas opciones de línea de comando: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—qualified” (para comandos '-break-insert ) 'y'-dprintf-insert'), "--force-condition" (para los comandos '-break-insert' y '-dprintf-insert'), "--force" (para los comandos '-break-condition' ' dominio).
  • El comando '-file-list-exec-source-files' le permite especificar expresiones regulares para filtrar los archivos fuente que se procesarán. Se agregó un campo de "lectura completa de depuración" a la salida para indicar hasta qué punto se ha cargado la información de depuración.
  • Se han realizado mejoras en la API de Python. Se agregaron nuevos métodos gdb.Frame.level() y db.PendingFrame.level() para devolver el nivel de pila de un objeto Frame. Cuando se activa un punto de captura, la API de Python garantiza que se envíe gdb.BreakpointEvent en lugar de gdb.StopEvent. Se agregaron configuraciones "python ignore-environment on|off" para ignorar las variables de entorno y "python dont-write-bytecode auto|on|off" para deshabilitar la escritura de código de bytes.
  • Se han realizado mejoras en la API de Guile. Se han añadido nuevos procedimientos valor-referencia-valor, valor-rvalor-referencia-valor y valor-const-valor.
  • Las dependencias de ensamblaje requeridas incluyen la biblioteca GMP (GNU Multiple Precision Arithmetic).
  • Se ha interrumpido el soporte para la plataforma ARM Symbian (arm*-*-symbianelf*).

Fuente: opennet.ru

Añadir un comentario