rilascio del debugger , supporto al debugging a livello di codice sorgente per un'ampia gamma di linguaggi di programmazione (Ada, C, C++, Objective-C, Pascal, Go, ecc.) su varie piattaforme hardware (i386, amd64, ARM, Power, Sparc, RISC-V, ecc.) e software (GNU/Linux, *BSD, Unix, Windows, macOS).
Le chiave :
- Nelle interfacce CLI e TUI è stata implementata la possibilità di definire lo stile del terminale (aggiunta il comando «set style»). Se disponibile, GNU Highlight consente l'evidenziazione dei codici sorgente;
- È stata implementata un supporto sperimentale per la compilazione e l'inserimento del codice sorgente in linguaggio C++ in un processo controllato tramite GDB
(). È richiesto avere almeno la versione GCC 7.1, compilata con libcp1.so; - In GDB e GDBserver è stato aggiunto il supporto per IPv6. Per definire gli indirizzi IPv6 è necessario utilizzare il formato «[ADDRESS]:PORT»;
- Per i sistemi target RISC-V è stato aggiunto il supporto per la descrizione del target in formato XML ();
- Sulla piattaforma FreeBSD è stato garantito il supporto all'installazione di punti di interruzione
(catchpoint) su chiamate di sistema, utilizzando i loro alias specifici per diverse ABI (ad esempio, per ‘kevent’ è disponibile l'alias ‘freebsd11_kevent’ per legarsi alla vecchia ABI); - Nella comando «target remote» è stato aggiunto il supporto per i socket Unix (Unix Domain socket);
- È stata aggiunta la possibilità di visualizzare tutti i file aperti dal processo (comando «info proc files»);
- È stata implementata la possibilità di salvare automaticamente su disco gli indici dei simboli DWARF per accelerare il successivo caricamento dello stesso file eseguibile;
- In GDBserver per la piattaforma PowerPC GNU/Linux è stato aggiunto il supporto per l'accesso ai registri PPR, DSCR, TAR, EBB/PMU e HTM;
- Sono stati aggiunti nuovi comandi «set/show debug compile-cplus-types» e
«set/show debug skip» per configurare l'output dei dati sulle trasformazioni di tipo C++ e sulle informazioni sui file e le funzioni escluse; - Sono stati aggiunti comandi «frame apply COMMAND», «taas COMMAND», «faas COMMAND», «tfaas COMMAND» per applicare comandi a frame dello stack e thread;
- Sono stati apportati miglioramenti ai comandi «frame», «select-frame», «info frame»;
— «info functions», «info types», «info variables», «info thread», «info proc»; - Quando eseguito in modalità batch, GDB ora restituisce il codice di errore 1 in caso di fallimento dell'esecuzione dell'ultimo comando;
- È stata aggiunta la possibilità di compilare GDB con il rilevatore di comportamento indefinito (Undefined Behavior Sanitizer) fornito da GCC;
- Sono state aggiunte impostazioni di sistema di base (native configuration, per il debug sulla stessa macchina) per le piattaforme RISC-V GNU/Linux (riscv*-*-linux*) e RISC-V FreeBSD (riscv*-*-freebsd*);
- Sono state aggiunte le impostazioni di configurazione target: CSKY ELF (csky*-*-elf), CSKY GNU/Linux (csky*-*-linux), NXP S12Z ELF (s12z-*-elf), OpenRISC GNU/Linux (or1k*-*-linux*), RISC-V GNU/Linux (riscv*-*-linux*) e RISC-V FreeBSD (riscv*-*-freebsd*);
- Il debug sulla stessa macchina in Windows ora richiede Windows XP o versioni successive;
- Per utilizzare l'API Python è ora necessario Python 2.6 o versioni più recenti.
Fonte: opennet.ru
