rilascio del debugger , che supporta il debug a livello di codice sorgente per un'ampia gamma di linguaggi di programmazione (Ada, C, C++, Objective-C, Pascal, Go, ecc.) su diverse piattaforme hardware (i386, amd64, ARM, Power, Sparc, RISC-V, ecc.) e software (GNU/Linux, *BSD, Unix, Windows, macOS).
Chiave :
- Nelle interfacce CLI e TUI è stata implementata la possibilità di definire lo stile del terminale (è stato aggiunto il comando «set style»). Con GNU Highlight è possibile evidenziare i codici sorgente;
- È stato implementato il supporto sperimentale per la compilazione e l'inserimento di codice sorgente in C++ in un processo controllato tramite GDB
(). Per funzionare, è necessaria almeno la versione 7.1 di GCC, compilata con libcp1.so; - In GDB e GDBserver è stato aggiunto il supporto per IPv6. Gli indirizzi IPv6 devono essere specificati nel formato «[ADDRESS]:PORT»;
- Per i sistemi target RISC-V è stato aggiunto il supporto per la descrizione dell'obiettivo nel formato XML ();
- Sulla piattaforma FreeBSD è stato garantito il supporto per l'impostazione di punti di interruzione
(catchpoint) sulle chiamate di sistema, utilizzando i loro alias, specifici per diverse ABI (ad esempio, per ‘kevent’ è disponibile l'alias ‘freebsd11_kevent’ per agganciarsi al vecchio ABI); - Nel comando «target remote» è stato aggiunto il supporto per i socket Unix (Unix Domain socket);
- È stata aggiunta la possibilità di visualizzare tutti i file aperti da un processo (comando «info proc files»);
- È stata implementata la possibilità di salvare automaticamente su disco gli indici dei simboli DWARF per accelerare il caricamento successivo 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;
- Aggiunti nuovi comandi «set/show debug compile-cplus-types» e
«set/show debug skip» per configurare l'output dei dati sulle trasformazioni dei tipi C++ e le informazioni sui file e le funzioni ignorati; - Aggiunti i comandi «frame apply COMMAND», «taas COMMAND», «faas COMMAND», «tfaas COMMAND» per applicare comandi ai frame dello stack e ai thread;
- Miglioramenti ai comandi «frame», «select-frame», «info frame»,
— «info functions», «info types», «info variables», «info thread», «info proc»; - Quando viene eseguito in modalità batch, GDB ora restituisce il codice di errore 1 in caso di errore nell'esecuzione dell'ultimo comando;
- È stata aggiunta la possibilità di compilare GDB con un rilevatore di comportamento indefinito (Undefined Behavior Sanitizer) fornito da GCC;
- Aggiunte configurazioni 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*);
- Aggiunte configurazioni target (target configuration): 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 almeno Windows XP o versioni più recenti;
- Per utilizzare l'API Python è ora richiesta almeno la versione 2.6 di Python.
Fonte: opennet.ru
