Lançamento do depurador GDB 9

Introduzido versão do depurador GDB 9.1 (primeira versão da série 9.x, a ramificação 9.0 foi usada para desenvolvimento). GDB suporta depuração em nível de fonte para uma ampla variedade de linguagens de programação (Ada, C, C++, Objective-C, Pascal, Go, etc.) em vários hardwares (i386, amd64, ARM, Power, Sparc, RISC-V e etc.) e plataformas de software (GNU/Linux, *BSD, Unix, Windows, macOS).

Chave melhorias:

  • O suporte para plataformas Solaris 10 e Cell Broadband Engine foi descontinuado;
  • Adicionado um novo simulador do subsistema PRU (Programmable Real-time Unit) utilizado nos processadores Texas Instruments (pru-*-elf);
  • Adicionado um modo experimental para carregamento rápido de símbolos de depuração no modo multithread (habilitado através da configuração 'maint set trabalhador-threads ilimitado');
  • É possível utilizar o símbolo '.' nos nomes dos comandos;
  • Adicionada a capacidade de definir pontos de interrupção em funções e sub-rotinas aninhadas em Fortran;
  • Foram realizados trabalhos para trazer um estilo unificado e melhorar a legibilidade dos comandos;
  • Uma infraestrutura padrão foi implementada para passar argumentos de comando usando o caractere traço ('-OPT'), que permite o preenchimento automático usando a tecla tab;
  • Os comandos “printf” e “eval” implementam suporte para saída de strings nos estilos C e Ada sem chamar diretamente uma função no programa;
  • Adicionado suporte para filtragem de arquivos de saída com base em uma expressão regular no comando “fontes de informação”;
  • Na configuração “set print frame-arguments” o parâmetro “presence” é implementado, quando definido, apenas o indicador de presença “…” é exibido para argumentos ao invés de exibir o nome e valor;
  • Na interface TUI os comandos "focus", "winheight", "+", "-", ">", "<" agora diferenciam maiúsculas de minúsculas;
  • Para os comandos "print", "compile print", "backtrace", "frame"
    apply", as opções "tfaas" e "faas" foram implementadas para substituir configurações globais (por exemplo, aquelas definidas via "set print […]");

  • A opção "-q" foi adicionada ao comando "info types" para desabilitar a saída de alguns cabeçalhos;
  • Nas configurações, em vez do valor “ilimitado”, agora você pode especificar “u”;
  • Novos comandos adicionados:
    • "define-prefix" para definir seus próprios comandos de prefixo;
    • "|" ou "pipe" para executar um comando e redirecionar a saída para um comando shell;
    • “com” para executar o comando especificado com configurações alteradas temporariamente;
    • “set may-call-functions” para controlar se uma sub-rotina pode ser chamada do GDB;
    • "set print finish [on|off]" para controlar a exibição do valor de retorno ao usar o comando "finish";
    • “definir profundidade máxima de impressão” para limitar a saída de estruturas aninhadas;
    • “set print raw-values ​​​​[on|off]” para ativar/desativar a formatação dos valores de saída;
    • “set logging debugredirect [on|off]” para controlar o salvamento da saída de depuração em um arquivo de log;
    • Uma série de novos comandos “set style”;
    • “set print frame-info […]” para definir as informações que devem ser impressas ao exibir o estado do stack frame;
    • “set tui compact-source” para ativar o modo compacto para exibição de código na interface TUI (Text User Interface);
    • “módulos de informação […]” para solicitar informações sobre módulos Fortran;
    • Em vez de “set/show print raw-frame-arguments”, é proposto o comando “set/show print raw-frame-arguments” (usa um travessão em vez de um espaço como separador);
  • Na interface do software de controle GDB / MI adicionados novos comandos “-complete”, “-catch-throw”, “-catch-rethrow”, “-catch-catch”, “-symbol-info-functions”, “-symbol-info-types”,
    "-symbol-info-variables", "-symbol-info-modules", "-symbol-info-module-functions" e "-symbol-info-module-variables" são equivalentes aos mesmos comandos GDB. Por padrão, a terceira versão do interpretador MI está ativada (-i=mi3);

  • Adicionadas novas variáveis ​​integradas:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Adicionada a opção “--with-system-gdbinit-dir” ao script de construção de configuração para determinar o caminho para os arquivos de sistema gdbinit;
  • Várias melhorias foram feitas na API Python. Adicionada a capacidade de construir com Python 3 no Windows;
  • Os requisitos para o ambiente de montagem foram aumentados. Construir GDB e GDBserver agora requer pelo menos GNU make 3.82. Ao construir com uma biblioteca readline externa, é necessário pelo menos GNU readline 7.0.

Fonte: opennet.ru

Adicionar um comentário