Rilascio del debugger GDB 18

È stato presentato il rilascio del debugger GDB 18.1 (primo rilascio della serie 18.x, il ramo 18.0 è stato utilizzato per lo sviluppo). GDB supporta il debug a livello di sorgente per un'ampia gamma di linguaggi di programmazione (C, C++, D, Go, Objective-C, Fortran, OpenCL C, Pascal, Rust, assembly, Modula-2 e Ada) su diverse piattaforme hardware (i386, amd64, ARM, Power, Sparc, RISC-V, LoongArch, ecc.) e software (GNU/Linux, *BSD, Unix, Windows, macOS).

I miglioramenti più significativi:

  • È stata aggiunta la supporto per le piattaforme GNU/Linux/MicroBlaze (microblazeel-*linux*) e AArch64 MinGW (aarch64-*-mingw*). L'architettura a 32 bit s390 (s390-*) è stata dichiarata obsoleta e pianificata per la rimozione.
  • Per la piattaforma Windows è stata implementata la supporto per la modalità «non-stop» (per Windows 10 e versioni successive), il blocco dello scheduler con il comando «set scheduler-locking on» e le variabili TLS (Thread Local Storage) native. Quando viene eseguito nel Terminale di Windows, è garantita la supporto per colori a 24 bit, emoji e codifica UTF-8. Negli interfaccia CLI, TUI, MI e DAP è stata inclusa la normalizzazione dell'uso della barra nei percorsi dei file (viene sempre utilizzato C:/proj/src/main.c invece di C:/proj/src\main.c).
  • Per risolvere problemi di ricerca dei tipi, tutti i simboli di debug dei tipi vengono ora aggiunti all'indice .gdb_index.
  • Nel comando «info locals» è stata implementata la visualizzazione dell'annotazione «shadowed» per le variabili esterne sovrascritte da variabili interne con lo stesso nome. È stata aggiunta anche un'impostazione per controllare l'output: «set print shadowed on|off».
  • Nei comandi «set args», «run», «start» e «starti» è stata implementata la possibilità di passare argomenti contenenti caratteri di nuova riga racchiusi tra virgolette.
  • In GDB e gdbserver è stata aggiunta la flag «--no-escape-args» per disattivare l'escape dei caratteri speciali negli argomenti.
  • Per l'architettura AArch64 è stata implementata la supporto per il registro FPMR (Floating Point Mode Register).
  • È stata aggiunta una supporto preliminare per il caricamento dei file core generati su sistemi che supportano Intel AMX.
  • È stata aggiunta la supporto per eventi di tracing gestiti dalla libreria libipt 2.2.
  • Durante il debug attraverso la porta seriale è stata aggiunta la possibilità di specificare velocità di trasmissione non standard.
  • È stata aggiunta la modalità «essential» al comando help con una panoramica del set minimo di comandi che potrebbero essere necessari a un nuovo utente di GDB.
  • Sono stati aggiunti i comandi:
    • set/show/ unset local-environment — simile a «set/show/unset environment», influisce sull'ambiente dei subprocessi avviati da GDB stesso (ad esempio, tramite shell o pipe).
    • save history, save skip, save user — salva in un file la cronologia dei comandi, le operazioni skip e i comandi utente.
    • info proc environ — mostra le variabili d'ambiente del processo.
    • set/show progress-bars enabled — gestione della visualizzazione delle barre di progresso.
    • delete skip, enable skip, disable skip — alias dei comandi skip delete/enable/disable.
    • set/show debug gnu-ifunc e set/show debug ctf.
  • Rimossa la supporto per la prima versione del formato DWP (DWARF Package File), i formati di informazioni di debug stabs e mdebug. Interrotta la possibilità di salvare il risultato del tracciamento nel formato CTF (Common Trace Format).
  • Nella prossima versione è prevista la separazione dei sistemi Windows ABI GNU (per codice generato tramite strumenti MinGW) e MSVC (per codice compilato dai compilatori MSVC e Clang). Per scegliere Windows ABI nel comando 'set osabi' sarà necessario specificare i valori 'Windows-GNU' e 'Windows-MSVC'. Il valore Windows attualmente usato selezionerà automaticamente il modo appropriato in base all'argomento '--target' (—target=x86_64-pc-windows-msvc o —target=x86_64-w64-mingw32).

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS - ProHoster