GDB 17 debugger release

GDB 17.1 wurdt útbrocht (de earste útjefte fan 'e 17.x-searje, de 17.0-tûke waard brûkt foar ûntwikkeling). GDB stipet debuggen op boarnenivo foar in breed skala oan programmeartalen (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, ensfh.) op ferskate hardware (i386, amd64, ARM, Power, Sparc, RISC-V, LoongArch, ensfh.) en softwareplatfoarms (GNU/Linux, *BSD, Unix, Windows, macOS).

De meast opfallende ferbetterings:

  • Foar x86-64 systemen is stipe foar de shadow stack, dy't yn 'e kernel ferskynde, ymplementearre. Linux 6.6, wat it mooglik makket om in protte exploits te blokkearjen troch gebrûk te meitsjen fan de hardwaremooglikheden fan Intel-prosessors om te beskermjen tsjin it oerskriuwen fan it retouradres fan in funksje yn gefal fan in stackbufferoverloop. Dizze beskerming is basearre op it feit dat nei it oerdragen fan kontrôle nei in funksje, de prosessor retouradressen net allinich opslaat op 'e reguliere stack, mar ek op in aparte "skaad"-stack, dy't net direkt oanpast wurde kin. Foardat de funksje ôfsletten wurdt, wurdt it retouradres út 'e skaadstack helle en fergelike mei it retouradres fan 'e haadstack.
  • Debugging-mooglikheid tafoege Linux- programma's gearstald foar de AArch64-arsjitektuer en mei de Guarded Control Stack (GCS)-útwreiding. GCS biedt hardwarebeskerming foar retouradressen fan funksjes en blokkearret exploits mei help fan return-oriented programmeartechniken (ROP) (in exploit wurdt foarme út besteande stikken masine-ynstruksjes dy't einigje mei in retourynstruksje).
  • Foar systemen mei de rv64gc-arsjitektuer is folsleine stipe foar it opnimmen fan it programma-útfieringsproses ymplementearre foar reverse debuggen en it opnij ôfspyljen fan seksjes fan koade.
  • It kommando "info threads" hat no opsjes "-stopped" en "-running" om allinich stoppe of allinich rinnende threads te sjen litten.
  • Yn it kommando "info sharedlibrary" op platfoarms Linux en FreeBSD toant no adressen foar it heule ûnthâldberik dat tawiisd is oan in dielde bibleteek (earder waarden allinich it basisadres en adressen foar de .text-seksje werjûn).
  • De mooglikheid om snapshots fan 'e steat (kontrôlepunt) te brûken wurdt levere Linux by it tagelyk debuggen fan meardere prosessen.
  • Útwreide stipe foar linker-nammeromten.
  • Emoji-symboalen wurde brûkt om flaters en warskôgings te markearjen.
  • Op it platfoarm Linux In ynboude funksje foar tagong ta thread-lokale fariabelen (Thread-Local Storage, TLS) is ymplementearre, brûkt as de libthread_db-bibleteek ûntbrekt. Dizze funksje is beskikber foar de x86_64-, aarch64-, ppc64-, s390x- en riscv-arsjitektueren by it bouwen mei GLIBC of MUSL.
  • It kommando "set riscv numeric-register-names" is tafoege om RISC-V-registers wer te jaan mei har numerike ID's ynstee fan ABI-nammen.
  • Ferbetteringen binne makke oan de Python API. Nije klassen, gdb.Color en gdb.ParameterPrefix, it attribút gdb.Value.is_unavailable, en de funksje gdb.warning() binne tafoege. Stipe foar âldere Python-ferzjes is falle litten - allinich Python 3.4 en nijer wurdt stipe.
  • Der binne ferbetteringen oanbrocht oan de Guile API. De " ".
  • De mooglikheden fan 'e DAP (Debugger Adapter Protocol) binne útwreide: stipe foar "foltôgings"-oanfragen is ymplementearre, en de opsje "--binary-output" is tafoege om de konverzje fan nije rigeltekens op it platfoarm út te skeakeljen. Windows.
  • Fariabelen $_colorsupport (list mei kleurromten dy't stipe wurde troch de terminal), $linker_namespace_count en $_linker_namespace (list mei aktive linker-nammeromten) tafoege.
  • Opsjes "--disable-gdb-compile" tafoege om it kompilaasje-subsysteem út te skeakeljen, lykas "--disable-gdb-dwarf-support" en "--disable-gdb-mdebug-support" om debug-ynformaasje yn 'e DWARF- en mdebug/ecoff-formaten út te skeakeljen.
  • Gdbserver hat stipe foar UST (static tracepoint) stopset.

Boarne: opennet.ru

Keapje betroubere hosting foar siden mei DDoS-beskerming, VPS VDS-tsjinners 🔥 Keapje betroubere websidehosting mei DDoS-beskerming, VPS VDS-tsjinners | ProHoster