lanzamiento del depurador (primera versión de la serie 9.x, la rama 9.0 fue utilizada 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, 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 dejado de dar soporte a las plataformas Solaris 10 y Cell Broadband Engine;
- Se ha agregado un nuevo simulador de la subunidad PRU (Unidad de Tiempo Real Programable), utilizada en los procesadores de Texas Instruments (pru-*-elf);
- Se ha añadido un modo experimental de carga rápida de símbolos de depuración en modo multihilo (se activa mediante la configuración ‘maint set worker-threads unlimited’);
- Se ha habilitado el uso del carácter ‘.’ en los nombres de comandos;
- Se ha añadido la posibilidad de establecer puntos de interrupción en funciones y subprogramas anidados en Fortran;
- Se ha trabajado para unificar el estilo y mejorar la legibilidad de los comandos;
- Se ha implementado una infraestructura estándar para pasar argumentos de comando usando el símbolo de guion (‘-OPT’), lo que permite la autocompletación con la tecla de tabulación;
- En los comandos ‘printf’ y ‘eval’ se ha implementado el soporte para la salida de cadenas en estilos de C y Ada sin necesidad de invocar directamente la función en el programa;
- En el comando ‘info sources’ se ha añadido soporte para filtrar archivos impresos basados en expresiones regulares;
- En la configuración ‘set print frame-arguments’ se ha implementado el parámetro ‘presence’, que al establecerse muestra solo el indicador de presencia ‘…’ en lugar del nombre y valor;
- En la interfaz los comandos ‘focus’, ‘winheight’, ‘+’, ‘-’, ‘>’, ‘<’ ahora son sensibles a las mayúsculas y minúsculas;
- Para los comandos ‘print’, ‘compile print’, ‘backtrace’, ‘frame
apply’, ‘tfaas’ y ‘faas’ se han implementado opciones para redefinir la configuración global (por ejemplo, establecida mediante ‘set print […]’); - En el comando ‘info types’ se ha añadido la opción ‘-q’ para desactivar la salida de algunos encabezados;
- En la configuración, en lugar del valor ‘unlimited’ ahora se puede especificar ‘u’;
- Se han añadido nuevos comandos:
- ‘define-prefix’ para definir comandos prefijados propios;
- ‘|’ o ‘pipe’ para ejecutar el comando y redirigir la salida al comando de la shell;
- ‘with’ para ejecutar el comando especificado con configuraciones temporalmente modificadas;
- ‘set may-call-functions’ para controlar la posible llamada a subprogramas desde GDB;
- «set print finish [on|off]» para controlar la visualización del valor devuelto al usar el comando «finish»;
- «set print max-depth» para limitar la salida de estructuras anidadas;
- «set print raw-values [on|off]» para habilitar/deshabilitar el formato de los valores mostrados;
- «set logging debugredirect [on|off]» para gestionar la conservación de la salida de depuración en un archivo de registro;
- Serie de nuevos comandos «set style»;
- «set print frame-info […]» para definir la información que debe mostrarse al visualizar el estado del marco de la pila;
- «set tui compact-source» para habilitar el modo compacto de visualización de código en la interfaz TUI (Interfaz de Usuario de Texto);
- «info modules […]» para consultar información sobre los módulos de Fortran;
- En lugar de «set/show print raw frame-arguments», se ha propuesto el comando «set/show print raw-frame-arguments» (utiliza un guion como separador en lugar de un espacio);
- En la interfaz de programación de aplicaciones de gestión se han añadido nuevos comandos «-complete», «-catch-throw», «-catch-rethrow», «-catch-catch», «-symbol-info-functions», «-symbol-info-types»,
«-symbol-info-variables», «-symbol-info-modules», «-symbol-info-module-functions» y «-symbol-info-module-variables», equivalentes a comandos similares de GDB. Por defecto, se ha activado la tercera versión del intérprete MI (-i=mi3); - Se han añadido nuevas variables integradas:
- $_gdb_major, $_gdb_minor;
- $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
- $_gdb_maint_setting_str
- $_cimag, $_creal
- $_shell_exitcode, $_shell_exitsignal
- Se ha añadido la opción «—with-system-gdbinit-dir» al script de configuración para definir la ruta a los archivos gdbinit del sistema;
- Se han realizado mejoras en la API de Python. Se ha añadido la opción de compilar con Python 3 en Windows;
- Se han elevado los requisitos para el entorno de compilación. Ahora se requiere al menos GNU make 3.82 para compilar GDB y GDBserver. Se necesita al menos GNU readline 7.0 al compilar con la biblioteca externa readline.
Fuente: opennet.ru
