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
