Rilascio del debugger GDB 11

Presentato il rilascio del debugger GDB 11.1 (il primo rilascio della serie 11.x, per lo sviluppo è stato utilizzato il ramo 11.0). GDB supporta il debug a livello sorgente per un'ampia gamma di linguaggi di programmazione (Ada, C, C++, Objective-C, Pascal, Go, Rust, ecc.) su vari hardware (i386, amd64, ARM, Power, Sparc, RISC - V, ecc.) e piattaforme software (GNU/Linux, *BSD, Unix, Windows, macOS).

Miglioramenti chiave:

  • La TUI (Text User Interface) ha aggiunto il supporto per le azioni del mouse e la possibilità di scorrere il contenuto con la rotellina del mouse. Abilitato l'inoltro di combinazioni di tasti a GDB che non vengono elaborate in TUI.
  • Aggiunto il supporto al meccanismo ARMv8.5 MTE (MemTag, Memory Tagging Extension), che permette di associare tag ad ogni operazione di allocazione della memoria e organizzare un controllo del puntatore all'accesso della memoria, che deve essere associato al tag corretto. Il protocollo di controllo del debug remoto fornisce supporto per i pacchetti "qMemTags" e "QMemTags" per associare i tag alla memoria.
  • La logica per la lettura dei file di configurazione è stata modificata. Il file .gdbinit viene ora controllato nel seguente ordine: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit e $HOME/.gdbinit. Quelli. prima nella sottodirectory config e solo successivamente nella directory home.
  • Nel comando “break […] if CONDITION”, l'output dell'errore viene interrotto quando una condizione non è valida in determinati punti, se la condizione è valida in almeno un caso.
  • Aggiunto il supporto per il debug dei core dump generati per i programmi Cygwin compilati per l'architettura x86_64.
  • Aggiunto il supporto per i tipi a virgola fissa, nonché per le costanti DW_AT_GNU_numerator e DW_AT_GNU_denominator.
  • Aggiunta l'impostazione "avvio silenzioso on|off"; quando "on", simile all'opzione "-silent".
  • Il comando "ptype" implementa le opzioni /x" e "/d" per selezionare esadecimale o decimale durante la visualizzazione di dimensioni e offset. Aggiunta l'impostazione "print type hex on|off" per utilizzare valori esadecimali nell'output del comando 'ptype'.
  • Nel comando "inferiore", se chiamato senza argomenti, viene fornito l'output dell'oggetto di debug corrente (inferiore).
  • L'output del comando “info source” è stato rielaborato.
  • Aggiunto comando “stile versione primo piano | sfondo | intensità" per controllare lo stile di numerazione della versione.
  • Aggiunte nuove opzioni della riga di comando: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—qualified” (per i comandi '-break-insert ) ' e '-dprintf-insert'), "--force-condition" (per i comandi '-break-insert' e '-dprintf-insert'), "--force" (per i comandi '-break-condition comando).
  • Il comando '-file-list-exec-source-files' consente di specificare le espressioni regolari per filtrare i file sorgente da elaborare. All'output è stato aggiunto un campo 'debug-fully-read' per indicare la misura in cui sono state caricate le informazioni di debug.
  • Sono stati apportati miglioramenti all'API Python. Aggiunti nuovi metodi gdb.Frame.level() e db.PendingFrame.level() per restituire il livello di stack per un oggetto Frame. Quando viene attivato un catchpoint, l'API Python garantisce che venga inviato gdb.BreakpointEvent anziché gdb.StopEvent. Aggiunte le impostazioni "python ignore-environment on|off" per ignorare le variabili di ambiente e "python dont-write-bytecode auto|on|off" per disabilitare la scrittura del bytecode.
  • Sono stati apportati miglioramenti all'API Guile. Sono state aggiunte le nuove procedure valore-valore-riferimento, valore-rvalore-valore-riferimento e valore-valore-costante.
  • Le dipendenze dell'assembly richieste includono la libreria GMP (GNU Multiple Precision Arithmetic).
  • Il supporto per la piattaforma ARM Symbian (arm*-*-symbianelf*) è stato interrotto.

Fonte: opennet.ru

Aggiungi un commento