Lançamento do depurador GDB 13

Foi apresentada a versão do depurador GDB 13.1 (a primeira versão da série 13.x, o branch 13.0 foi usado para desenvolvimento). GDB suporta depuração em nível de fonte para uma ampla variedade de linguagens de programação (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, etc.) em vários hardwares (i386, amd64 , ARM, Power, Sparc, RISC-V, etc.) e plataformas de software (GNU/Linux, *BSD, Unix, Windows, macOS).

Principais melhorias:

  • Adicionado suporte para execução do depurador e GDBserver nas arquiteturas GNU/Linux/LoongArch e GNU/Linux/CSKY.
  • Foi implementado suporte para trabalhar na plataforma Windows em modo assíncrono (assíncrono).
  • Na plataforma FreeBSD, foi adicionado suporte para variáveis ​​TLS (Thread Local Storage) para as arquiteturas ARM e AArch64, e a capacidade de usar pontos de interrupção de hardware (watchpoint) foi fornecida para a arquitetura AArch64.
  • No ambiente GNU/Linux em sistemas LoongArch, foi adicionado suporte para cálculos de ponto flutuante.
  • Implementados novos comandos "maintenance set ignore-prologue-end-flag|libopcodes-styling" e "maintenance print frame-id", bem como comandos para controlar o estilo da saída desmontada (set style disassembler *).
  • Adicionados comandos "set print nibbles [on|off]" e "show print nibbles" para controlar a exibição de valores binários em grupos de quatro bytes.
  • Melhorias foram feitas na API Python. Foi adicionada uma API para instruções de desmontagem, o tipo gdb.BreakpointLocation foi implementado e as funções gdb.format_address, gdb.current_language e gdb.print_options foram adicionadas.
  • A primeira versão da interface de gerenciamento GDB/MI foi descontinuada e será removida no GDB 14.
  • Adicionado suporte para seções de depuração compactadas usando o algoritmo zstd em arquivos ELF.
  • Adicionadas novas variáveis ​​integradas: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • O formato de saída dos comandos 'disassemble /r' e 'record instrução-history /r' foi ajustado para corresponder à saída do objdump. Para retornar ao formato antigo, o modo “/b” foi adicionado.
  • Na TUI (Text User Interface), o estilo do código-fonte e do assembly destacado pelo indicador de posição atual está desabilitado.
  • É possível usar o comando “document” para documentar comandos do usuário.
  • Adicionada a capacidade de criar dumps com dados de tags de memória usados ​​​​ao usar o mecanismo ARMv8.5 MTE (MemTag, Memory Tagging Extension), que permite vincular tags a cada operação de alocação de memória e organizar uma verificação de ponteiro ao acessar a memória, que deve ser associado à tag correta.
  • O modo de compatibilidade DBX foi descontinuado.
  • O suporte para construção usando Python 2 foi descontinuado.
  • Os comandos “set debug aix-solib on|off”, “show debug aix-solib”, “set debug solib-frv on|off” e “show debug solib-frv” foram removidos, e os comandos “set/show debug” deve ser usado em vez de solib."

Fonte: opennet.ru

Adicionar um comentário