Rilascio del debugger GDB 9

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

Chiave miglioramenti:

  • Il supporto per le piattaforme Solaris 10 e Cell Broadband Engine è stato interrotto;
  • Aggiunto un nuovo simulatore del sottosistema PRU (Programmable Real-time Unit) utilizzato nei processori Texas Instruments (pru-*-elf);
  • Aggiunta una modalità sperimentale per il caricamento rapido dei simboli di debug in modalità multi-thread (abilitata tramite l'impostazione 'maint set work-threads unlimited');
  • È possibile utilizzare il simbolo '.' nei nomi dei comandi;
  • Aggiunta la possibilità di impostare punti di interruzione su funzioni e subroutine annidate in Fortran;
  • È stato svolto un lavoro per portare ad uno stile unificato e migliorare la leggibilità dei comandi;
  • È stata implementata un'infrastruttura standard per passare gli argomenti dei comandi utilizzando il carattere trattino ('-OPT'), che consente il completamento automatico utilizzando il tasto tab;
  • I comandi "printf" e "eval" implementano il supporto per l'output di stringhe negli stili C e Ada senza chiamare direttamente una funzione nel programma;
  • Aggiunto il supporto per filtrare i file di output in base a un'espressione regolare nel comando "fonti informazioni";
  • Nell'impostazione "imposta frame di stampa-argomenti", viene implementato il parametro "presenza", quando impostato, viene visualizzato solo l'indicatore di presenza "..." per gli argomenti invece di visualizzare il nome e il valore;
  • Nell'interfaccia TUI i comandi "focus", "winheight", "+", "-", ">", "<" ora fanno distinzione tra maiuscole e minuscole;
  • Per i comandi "print", "compile print", "backtrace", "frame"
    apply", sono state implementate le opzioni "tfaas" e "faas" per sovrascrivere le impostazioni globali (ad esempio, quelle impostate tramite "set print […]");

  • L'opzione "-q" è stata aggiunta al comando "infotypes" per disabilitare l'output di alcune intestazioni;
  • Nelle impostazioni, al posto del valore “illimitato”, ora puoi specificare “u”;
  • Nuovi comandi aggiunti:
    • "define-prefix" per definire i propri comandi di prefisso;
    • "|" o "pipe" per eseguire un comando e reindirizzare l'output a un comando di shell;
    • “with” per eseguire il comando specificato con le impostazioni temporaneamente modificate;
    • "imposta funzioni di chiamata" per controllare se una subroutine può essere chiamata da GDB;
    • "set printfinish [on|off]" per controllare la visualizzazione del valore restituito quando si utilizza il comando "finish";
    • “imposta la profondità massima di stampa” per limitare l'output delle strutture nidificate;
    • “set print raw-values ​​[on|off]” per abilitare/disabilitare la formattazione dei valori di output;
    • "set logging debugredirect [on|off]" per controllare il salvataggio dell'output di debug in un file di registro;
    • Una serie di nuovi comandi “imposta stile”;
    • "set print frame-info […]" per definire le informazioni che dovrebbero essere stampate quando si visualizza lo stato dello stack frame;
    • “set tui compact-source” per abilitare la modalità compatta per la visualizzazione del codice nell'interfaccia TUI (Text User Interface);
    • “info moduli […]” per richiedere informazioni sui moduli Fortran;
    • Invece di “set/show print raw-frame-arguments”, viene proposto il comando “set/show print raw-frame-arguments” (utilizza un trattino invece di uno spazio come separatore);
  • Nell'interfaccia del software di controllo GDB/MI 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" sono equivalenti agli stessi comandi GDB. Per impostazione predefinita, è attivata la terza versione dell'interprete MI (-i=mi3);

  • Aggiunte nuove variabili integrate:
    • $_gdb_maggiore, $_gdb_minore;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Aggiunta l'opzione “--with-system-gdbinit-dir” allo script di build di configurazione per determinare il percorso dei file di sistema gdbinit;
  • Sono stati apportati numerosi miglioramenti all'API Python. Aggiunta la possibilità di compilare con Python 3 su Windows;
  • I requisiti per l'ambiente di assemblaggio sono stati aumentati. La creazione di GDB e GDBserver ora richiede almeno GNU make 3.82. Quando si compila con una libreria readline esterna, è richiesto almeno GNU readline 7.0.

Fonte: opennet.ru

Aggiungi un commento