Lanzamiento del depurador GDB 9

Presentado por lanzamiento del depurador GDB 9.1 (primera versión de la serie 9.x, se utilizó la rama 9.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, etc.) en varios hardware (i386, amd64, ARM, Power, Sparc, RISC-V y etc.) y plataformas de software (GNU/Linux, *BSD, Unix, Windows, macOS).

Llave mejoras:

  • Se ha interrumpido el soporte para las plataformas Solaris 10 y Cell Broadband Engine;
  • Se agregó un nuevo simulador del subsistema PRU (Unidad programable en tiempo real) utilizado en los procesadores de Texas Instruments (pru-*-elf);
  • Se agregó un modo experimental para la carga rápida de símbolos de depuración en modo multiproceso (habilitado a través de la configuración 'maint set Workers-threads unlimited');
  • Es posible utilizar el símbolo '.' en los nombres de los comandos;
  • Se agregó la capacidad de establecer puntos de interrupción en funciones y subrutinas anidadas en Fortran;
  • Se ha trabajado para lograr un estilo unificado y mejorar la legibilidad de los comandos;
  • Se ha implementado una infraestructura estándar para pasar argumentos de comando usando el carácter de guión ('-OPT'), que permite el autocompletado usando la tecla tab;
  • Los comandos “printf” y “eval” implementan soporte para generar cadenas en estilos C y Ada sin llamar directamente a una función en el programa;
  • Se agregó soporte para filtrar archivos de salida según una expresión regular en el comando "fuentes de información";
  • En la configuración "establecer argumentos de marco de impresión", se implementa el parámetro "presencia", cuando se establece, solo se muestra el indicador de presencia "..." para los argumentos en lugar de mostrar el nombre y el valor;
  • en la interfaz TUI los comandos "focus", "winheight", "+", "-", ">", "<" ahora distinguen entre mayúsculas y minúsculas;
  • Para los comandos "imprimir", "compilar imprimir", "trazar hacia atrás", "marco"
    se han implementado las opciones "apply", "tfaas" y "faas" para anular la configuración global (por ejemplo, las establecidas mediante "set print […]");

  • La opción "-q" se ha agregado al comando "tipos de información" para deshabilitar la salida de algunos encabezados;
  • En la configuración, en lugar del valor "ilimitado", ahora puede especificar "u";
  • Nuevos comandos agregados:
    • "define-prefix" para definir sus propios comandos de prefijo;
    • "|" o "tubería" para ejecutar un comando y redirigir la salida a un comando de shell;
    • “con” para ejecutar el comando especificado con la configuración modificada temporalmente;
    • “establecer funciones de llamada may” para controlar si se puede llamar a una subrutina desde GDB;
    • "establecer fin de impresión [activado|desactivado]" para controlar la visualización del valor de retorno cuando se utiliza el comando "finalizar";
    • “establecer la profundidad máxima de impresión” para limitar la salida de estructuras anidadas;
    • “establecer valores sin formato de impresión [activado|desactivado]” para habilitar/deshabilitar el formato de los valores de salida;
    • “establecer el registro debugredirect [activado|desactivado]” para controlar el guardado de la salida de depuración en un archivo de registro;
    • Una serie de nuevos comandos de “establecer estilo”;
    • "establecer información de marco de impresión […]" para definir la información que debe imprimirse al mostrar el estado del marco de pila;
    • “set tui compact-source” para habilitar el modo compacto para mostrar código en la interfaz TUI (Interfaz de usuario de texto);
    • “módulos de información […]” para solicitar información sobre los módulos Fortran;
    • En lugar de "establecer/mostrar argumentos de marco sin formato para imprimir", se propone el comando "establecer/mostrar argumentos de marco sin formato para imprimir" (utiliza un guión en lugar de un espacio como separador);
  • En la interfaz del software de control GDB / MI Se agregaron 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" son equivalentes a los mismos comandos GDB. Por defecto, la tercera versión del intérprete MI está activada (-i=mi3);

  • Se agregaron 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 agregó la opción “--with-system-gdbinit-dir” al script de configuración de configuración para determinar la ruta a los archivos del sistema gdbinit;
  • Se han realizado una serie de mejoras en la API de Python. Se agregó la capacidad de compilar con Python 3 en Windows;
  • Se han aumentado los requisitos para el entorno de montaje. La creación de GDB y GDBserver ahora requiere al menos GNU make 3.82. Al compilar con una biblioteca readline externa, se requiere al menos GNU readline 7.0.

Fuente: opennet.ru

Añadir un comentario