O GDB 14.1 foi lançado (primeira versão da série 14.x; a versão 14.0 foi usada para desenvolvimento). O GDB oferece suporte à depuração em nível de código-fonte para uma ampla gama de linguagens de programação (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, etc.) em diversos hardwares (i386, amd64, ARM, Power, Sparc, RISC-V, etc.) e plataformas de software (GNU/Linux, *BSD, Unix, Windows, macOS).
Principais melhorias:
- A base de código foi convertida para usar o padrão C++17. Construir o GDB agora requer um compilador que suporte C++17 (pelo menos GCC 9).
- Adicionadas informações sobre a função principal ao índice, permitindo uma inicialização mais rápida quando usada com alguns executáveis grandes.
- O suporte para AIX 4.x, 5.xe 6.x foi descontinuado (a versão 7.1 é declarada como a versão mínima suportada do AIX).
- Adicionado suporte nativo inicial para DAP (Debugger Adapter Protocol).
- Adicionado suporte para a variável de ambiente NO_COLOR.
- Adicionado suporte inicial para tipos inteiros maiores que 64 bits.
- Adicionado suporte para pontos de interrupção vinculados a objetos de depuração individuais (ao depurar vários processos).
- Adicionada função "$_shell" para executar um comando em um shell e retornar o resultado.
- Melhorias foram feitas na API Python:
- Adicionadas classes gdb.Thread, gdb.unwinder.FrameId e gdb.ValuePrinter.
- Adicionados atributos gdb.Inferior.arguments, gdb.Inferior.main_name, gdb.Breakpoint.inferior, gdb.Progspace.symbol_file, gdb.Progspace.executable_filename.
- Adicionadas funções gdb.execute_mi(COMMAND, [ARG]…), gdb.block_signals().
- Adicionados métodos gdb.Frame.static_link, gdb.Inferior 'clear_env', 'set_env' e 'unset_env', gdb.Type 'is_array_like' e 'is_string_like', gdb.Value 'assign', gdb.Value 'to_array', gdb. Progspace 'objfile_for_address', gdb.LazyString __str__. Adicionados eventos gdb.ThreadExitedEvent, gdb.ExecutableChangedEvent, gdb.NewProgspaceEvent, gdb.FreeProgspaceEvent.
- Adicionada a capacidade de ativar ou desativar recursos individuais para destinos de depuração remota.
- Suporte aprimorado para arquitetura AArch64. Adicionado suporte para extensões SME (Scalable Matrix Extension) e SME2.
- Suporte aprimorado para a linguagem Ada e a especificação Ada 2022.
- Adicionado suporte para o argumento '.' ao comando 'list'. para imprimir a localização do ponto de execução no quadro de pilha atual.
- O especificador de formato '%V' foi adicionado aos comandos printf e dprintf.
- No comando printf, o tamanho da string extraída do objeto de depuração é limitado pela configuração 'max-value-size'.
- Adicionada opção de compilação "--additional-debug-dirs=PATH", que define o valor padrão para o parâmetro 'debug-file-directory'.
- Adicionado um novo comando "info main" para extrair o símbolo principal que indica o ponto de entrada no programa.
- Novos comandos adicionados:
- "definir ponto de interrupção de depuração ativado | desativado"
- "definir eventos de mouse tui [ligado|desligado]"
- "ativar sempre leitura-ctf | desativado"
- "instrução de registro de impressão de manutenção [N]"
- "desbobinadores de quadro de informações de manutenção"
- "manutenção de espera por cache de índice"
Fonte: opennet.ru
