GDB 11 foutopsporingsrelease

De release van de GDB 11.1-debugger is gepresenteerd (de eerste release van de 11.x-serie, de 11.0-tak werd gebruikt voor ontwikkeling). GDB ondersteunt debugging op bronniveau voor een breed scala aan programmeertalen (Ada, C, C++, Objective-C, Pascal, Go, Rust, etc.) op verschillende hardware (i386, amd64, ARM, Power, Sparc, RISC - V, enz.) en softwareplatforms (GNU/Linux, *BSD, Unix, Windows, macOS).

Belangrijkste verbeteringen:

  • De TUI (Text User Interface) heeft ondersteuning toegevoegd voor muisacties en de mogelijkheid om door inhoud te scrollen met het muiswiel. Doorsturen van toetscombinaties naar GDB die niet in TUI worden verwerkt, ingeschakeld.
  • Ondersteuning toegevoegd voor het ARMv8.5 MTE-mechanisme (MemTag, Memory Tagging Extension), waarmee u tags kunt binden aan elke geheugentoewijzingsbewerking en een pointercheck kunt organiseren bij toegang tot geheugen, dat aan de juiste tag moet worden gekoppeld. Het Remote Debug Control Protocol biedt ondersteuning voor de pakketten “qMemTags” en “QMemTags” voor het binden van tags aan het geheugen.
  • De logica voor het lezen van configuratiebestanden is gewijzigd. Het .gdbinit-bestand wordt nu in de volgende volgorde gecontroleerd: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit en $HOME/.gdbinit. Die. eerst in de submap config en pas daarna in de homemap.
  • Bij het commando “break […] if CONDITION” wordt de foutuitvoer gestopt als een voorwaarde op bepaalde plaatsen ongeldig is, als de voorwaarde in ten minste één geval geldig is.
  • Ondersteuning toegevoegd voor het debuggen van kerndumps die zijn gegenereerd voor Cygwin-programma's die zijn gecompileerd voor de x86_64-architectuur.
  • Ondersteuning toegevoegd voor typen met vaste punten, evenals de constanten DW_AT_GNU_numerator en DW_AT_GNU_denominator.
  • Instelling “opstarten-stil aan/uit” toegevoegd; wanneer “aan”, vergelijkbaar met de “-stil” optie.
  • De opdracht "ptype" implementeert de opties /x" en "/d" om hexadecimaal of decimaal te selecteren bij het weergeven van maten en offsets. De instelling "print type hex on|off" toegevoegd om hexadecimale waarden te gebruiken in de uitvoer van het 'ptype'-commando.
  • In het commando "inferior" wordt, wanneer het zonder argumenten wordt aangeroepen, de uitvoer van het huidige foutopsporingsobject (inferior) gegeven.
  • De uitvoer van het commando “info source” is herwerkt.
  • Commando toegevoegd “stijlversie voorgrond | achtergrond | intensiteit" om de versienummeringsstijl te bepalen.
  • Nieuwe opdrachtregelopties toegevoegd: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—qualified” (voor '-break-insert-opdrachten ) ' en '-dprintf-insert'), "--force-condition" (voor de opdrachten '-break-insert' en '-dprintf-insert'), "--force" (voor de '-break-condition ' commando).
  • Met de opdracht '-file-list-exec-source-files' kunt u reguliere expressies opgeven om bronbestanden eruit te filteren die moeten worden verwerkt. Er is een veld 'debug-fully-read' aan de uitvoer toegevoegd om aan te geven in hoeverre debug-informatie is geladen.
  • Er zijn verbeteringen aangebracht aan de Python API. Nieuwe methoden gdb.Frame.level() en db.PendingFrame.level() toegevoegd om het stapelniveau voor een Frame-object te retourneren. Wanneer een catchpoint wordt geactiveerd, zorgt de Python API ervoor dat gdb.BreakpointEvent wordt verzonden in plaats van gdb.StopEvent. Instellingen "python negeer-environment on|off" toegevoegd om omgevingsvariabelen te negeren en "python don't-write-bytecode auto|on|off" om het schrijven van bytecode uit te schakelen.
  • Er zijn verbeteringen aangebracht aan de Guile API. Er zijn nieuwe procedures waarde-referentiewaarde, waarde-rwaarde-referentiewaarde en waarde-const-waarde toegevoegd.
  • De vereiste assemblage-afhankelijkheden omvatten de GMP-bibliotheek (GNU Multiple Precision Arithmetic).
  • Ondersteuning voor het ARM Symbian-platform (arm*-*-symbianelf*) is stopgezet.

Bron: opennet.ru

Voeg een reactie