Publicación del depurador GDB 14

Se presentó el lanzamiento del depurador GDB 14.1 (primer lanzamiento de la serie 14.x, la rama 14.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 sistemas operativos (GNU/Linux, *BSD, Unix, Windows, macOS).

Mejoras clave:

  • La base de código se ha trasladado al uso del estándar C++17. Ahora se requiere un compilador que soporte C++17 (al menos GCC 9) para compilar GDB.
  • Se ha añadido información sobre la función main al índice, lo que permite acelerar el inicio al utilizarse con algunos archivos ejecutables grandes.
  • Se ha descontinuado el soporte para los sistemas operativos AIX 4.x, 5.x y 6.x (la versión mínima soportada de AIX es la 7.1).
  • Se ha añadido soporte básico para el protocolo DAP (Protocolo del Adaptador del Depurador).
  • Se ha añadido soporte para la variable de entorno NO_COLOR.
  • Se ha añadido soporte inicial para tipos enteros mayores de 64 bits.
  • Se ha añadido soporte para puntos de ruptura vinculados a objetos de depuración individuales (al depurar múltiples procesos).
  • Se ha añadido la función ‘$_shell’ para ejecutar comandos en la consola y devolver el resultado.
  • Se han realizado mejoras en la API de Python:
    • Se han añadido las clases gdb.Thread, gdb.unwinder.FrameId y gdb.ValuePrinter.
    • Se han añadido los atributos gdb.Inferior.arguments, gdb.Inferior.main_name, gdb.Breakpoint.inferior, gdb.Progspace.symbol_file, gdb.Progspace.executable_filename.
    • Se han añadido funciones gdb.execute_mi(COMMAND, [ARG]…), gdb.block_signals().
    • Se han añadido métodos gdb.Frame.static_link, gdb.Inferior ‘clear_env’, ‘set_env’ y ‘unset_env’, gdb.Type ‘is_array_like’ y ‘is_string_like’, gdb.Value ‘assign’, gdb.Value ‘to_array’, gdb.Progspace ‘objfile_for_address’, gdb.LazyString __str__. Se han añadido eventos gdb.ThreadExitedEvent, gdb.ExecutableChangedEvent, gdb.NewProgspaceEvent, gdb.FreeProgspaceEvent.
  • Se ha añadido la capacidad de habilitar y deshabilitar características individuales para los objetivos de depuración remota.
  • Se ha mejorado el soporte para la arquitectura AArch64. Se ha añadido soporte para las extensiones SME (Scalable Matrix Extension) y SME2.
  • Se ha mejorado el soporte para el lenguaje Ada y la especificación Ada 2022.
  • Se ha añadido soporte para el argumento ‘.’ en el comando ‘list’ para mostrar la ubicación del punto de ejecución en el marco actual de la pila.
  • Se ha añadido el especificador de formato ‘%V’ en los comandos printf y dprintf.
  • En el comando printf, el tamaño de la cadena extraída del objeto de depuración está limitado por el valor de la configuración ‘max-value-size’.
  • Se ha añadido la opción de ensamblado ‘—additional-debug-dirs=PATH’, que establece el valor predeterminado para el parámetro ‘debug-file-directory’.
  • Se ha añadido el nuevo comando ‘info main’ para extraer el símbolo main que indica el punto de entrada del programa.
  • Se han añadido nuevos comandos:
    • «configurar punto de interrupción de depuración en|fuera»
    • «configurar eventos del ratón de TUI [en|fuera]»
    • «configurar siempre-leer-ctf en|fuera»
    • «mantenimiento imprimir instrucción-de-registro [ N ]»
    • «mantenimiento info deshacerse-de-marcos»
    • «mantenimiento esperar-por-cache-de-índice»

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