rilascio del debugger (prima uscita della serie 9.x, il ramo 9.0 è stato utilizzato per lo sviluppo). GDB 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).
Le chiave :
- Supporto per le piattaforme Solaris 10 e Cell Broadband Engine interrotto;
- Aggiunto un nuovo simulatore della sottosistema PRU (Programmable Real-time Unit), utilizzato nei processori Texas Instruments (pru-*-elf);
- Aggiunto un modo sperimentale per il caricamento veloce dei simboli di debug in modalità multithread (attivabile tramite l'impostazione ‘maint set worker-threads unlimited’);
- Consentita l'uso del simbolo ‘.’ nei nomi dei comandi;
- Aggiunta la possibilità di impostare punti di interruzione su funzioni e sottoprogrammi annidati in Fortran;
- Rivisitato il dialogo per uniformare lo stile e migliorare la leggibilità dei comandi;
- Implementata un'infrastruttura che consente il passaggio di argomenti ai comandi utilizzando il simbolo meno (‘-OPT’), permettendo l'autocompletamento con il tasto tab;
- Nei comandi «printf» e «eval» aggiunta la possibilità di stampare stringhe in stili C e Ada senza chiamare direttamente la funzione nel programma;
- Nel comando «info sources» aggiunta la supporto per filtrare i file di output in base a espressioni regolari;
- Nell'impostazione «set print frame-arguments» implementato il parametro «presence», che quando attivato mostra solo un indicatore di presenza «…» anziché il nome e il valore;
- Nell'interfaccia i comandi «focus», «winheight», «+», «-«, «>», «<» ora sono case-sensitive;
- Per i comandi «print», «compile print», «backtrace», «frame
apply», «tfaas» e «faas» aggiunte opzioni per sovrascrivere le impostazioni globali (ad esempio, impostate tramite «set print […]»); - Nel comando «info types» aggiunta l'opzione «-q» per disattivare l'output di alcuni intestazioni;
- Nelle impostazioni, invece del valore «unlimited», ora è possibile specificare «u»;
- Sono stati aggiunti nuovi comandi:
- «define-prefix» per definire comandi prefissati personalizzati;
- «|» o «pipe» per eseguire un comando e reindirizzare l'output a un comando della shell;
- «with» per eseguire il comando specificato con impostazioni temporaneamente modificate;
- «set may-call-functions» per controllare la possibilità di chiamare sottoprogrammi da GDB;
- «set print finish [on|off]» per gestire la visualizzazione del valore restituito quando si utilizza il comando «finish»;
- «set print max-depth» per limitare l'output delle strutture annidate;
- «set print raw-values [on|off]» per attivare/disattivare la formattazione dei valori restituiti;
- «set logging debugredirect [on|off]» per controllare la registrazione dell'output di debug in un file di log;
- Una serie di nuovi comandi «set style»;
- «set print frame-info […]» per definire le informazioni da visualizzare quando si mostra lo stato del frame dello stack;
- «set tui compact-source» per attivare la modalità compact per la visualizzazione del codice nell'interfaccia TUI (Interfaccia Utente Testuale);
- «info modules […]» per richiedere informazioni sui moduli Fortran;
- Invece di «set/show print raw frame-arguments» è stato proposto il comando «set/show print raw-frame-arguments» (utilizza un trattino come separatore invece di uno spazio);
- Nell'interfaccia di gestione sono stati aggiunti nuovi comandi «-complete», «-catch-throw», «-catch-rethrow», «-catch-catch», «-symbol-info-functions», «-symbol-info-types»,
«-symbol-info-variables», «-symbol-info-modules», «-symbol-info-module-functions» e «-symbol-info-module-variables», equivalenti ai comandi GDB simili. Per impostazione predefinita, è attivata la terza versione dell'interprete MI (-i=mi3); - Sono state aggiunte nuove variabili integrate:
- $_gdb_major, $_gdb_minor;
- $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
- $_gdb_maint_setting_str
- $_cimag, $_creal
- $_shell_exitcode, $_shell_exitsignal
- Nel nuovo script di configurazione è stata aggiunta l'opzione «--with-system-gdbinit-dir» per definire il percorso dei file di sistema gdbinit;
- Sono stati apportati miglioramenti all'API di Python. È stata aggiunta la possibilità di compilare con Python 3 su Windows;
- Sono stati aumentati i requisiti per l'ambiente di compilazione. Ora per compilare GDB e GDBserver è richiesta almeno GNU make 3.82. Quando si compila con la libreria esterna readline, è richiesta almeno la GNU readline 7.0.
Fonte: opennet.ru
