Ështe prezantuar lirimi i debugger-it GDB 11.1 (lëshimi i parë i serisë 11.x, dega 11.0 u përdor për zhvillim). GDB mbështet debugging-un e kodit burimor për një gamë të gjerë gjuhësh programuese (Ada, C, C++, Objective-C, Pascal, Go, Rust, etj.) në një shumëllojshmëri platformash harduerike (i386, amd64, ARM, Power, Sparc, RISC-V, etj.) dhe softuerike (GNU/Linux, *BSD, Unix, Windows, macOS).
Përmirësimet kryesore:
- Në ndërfaqen TUI (Text User Interface) u shtua mbështetje për veprimet me miun dhe mundësitë e rrotullimit të përmbajtjes me rrotën e miut. U mundësua kalimi në GDB i kombinimeve të çelësave, të cilat nuk përpunohen në TUI.
- U shtua mbështetje për mekanizmin ARMv8.5 MTE (MemTag, Memory Tagging Extension), i cili lejon lidhjen e etiketimeve me çdo operacion shpërndarjeje të memories dhe organizimin e kontrollit të treguesve gjatë aksesit në memorje, që duhet të lidhet me etiketën e saktë. Në protokollin e menaxhimit të debugging-ut në distancë u siguruar mbështetje për paketat "qMemTags" dhe "QMemTags" për lidhen e etiketave me memorien.
- Logjika e leximit të skedarëve të konfigurimit është ndryshuar. Skedari .gdbinit tani kontrollohet në rendin e mëposhtëm: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit dhe $HOME/.gdbinit. Domethënë, fillimisht në nënfolderin config, dhe pastaj në katalogun e shtëpisë.
- Në komandën "break […] if CONDITION" ndalimi i shfaqjes së gabimit kur kushti nuk është i vlefshëm në disa vende, nëse kushti është i vlefshëm të paktën në një rast.
- U shtua mbështetje për debugging-un e core-dump-eve, të gjeneruara për programet Cygwin, të ndërtuara për arkitekturën x86_64.
- U shtua mbështetje për tipet me pikë fikse, si dhe konstanta DW_AT_GNU_numerator dhe DW_AT_GNU_denominator.
- U shtua konfigurimi "startup-quietly on|off"; kur është "on", është e ngjashme me opsionin "-silent".
- Në komandën "ptype" janë implementuar opsionet /x" dhe "/d" për zgjedhjen e heksadecimalit ose decimalit gjatë shfaqjes së madhësive dhe offset-eve. U shtua konfigurimi "print type hex on|off" për përdorimin e vlerave heksadecimale në daljen e komandës ‘ptype’.
- Në komandën "inferior" kur thirret pa argumente, sigurohet shfaqja e objektit aktual të debugging-ut (inferior).
- U përmirësua dalja e komandës "info source".
- U shtua komanda "style version foreground | background | intensity" për menaxhimin e stilit të numërimit të versioneve.
- U shtuan opsione të reja të vijës së komandës: "—early-init-command" ("-eix"), "—early-init-eval-command" ("-eiex"), "—qualified" (për komandat ‘-break-insert’ dhe ‘-dprintf-insert’), "—force-condition" (për komandat ‘-break-insert’ dhe ‘-dprintf-insert’), "—force" (për komandën ‘-break-condition’).
- Në komandën "-file-list-exec-source-files’ u lejua specifikimi i shprehjeve të rregullta për filtrimin e skedarëve burimorë të përpunuar. Në dalje u shtua fusha ‘debug-fully-read’ për informacion mbi shkallën e ngarkesës së informacionit të debugging-ut.
- U përmirësuan API-të Python. U shtuan metoda të reja gdb.Frame.level() dhe gdb.PendingFrame.level() për kthimin e nivelit të stack-ut për objektin Frame. Kur ngacmohet një pikë kapjeje (catchpoint) në API-në Python u mundësua kalimi i gdb.BreakpointEvent në vend të gdb.StopEvent. U shtuan konfigurimet "python ignore-environment on|off" për injorimin e variablave të ambientit dhe "python dont-write-bytecode auto|on|off" për ndalimin e shkrimit të bytecode.
- U përmirësuan API-të Guile. U shtuan procedurat e reja value-reference-value, value-rvalue-reference-value dhe value-const-value.
- Biblioteka GMP (GNU Multiple Precision Arithmetic) u përfshi në varësitë e detyrueshme për ndërtimin.
- Mbështetje për platformën ARM Symbian (arm*-*-symbianelf*) u ndal.
Burimi: opennet.ru
