Versiunea de depanare GDB 11

A fost prezentată lansarea depanatorului GDB 11.1 (prima lansare a seriei 11.x, ramura 11.0 a fost folosită pentru dezvoltare). GDB acceptă depanarea la nivel de sursă pentru o gamă largă de limbaje de programare (Ada, C, C++, Objective-C, Pascal, Go, Rust etc.) pe diferite hardware (i386, amd64, ARM, Power, Sparc, RISC) - V, etc.) și platforme software (GNU/Linux, *BSD, Unix, Windows, macOS).

Îmbunătățiri cheie:

  • TUI (Text User Interface) a adăugat suport pentru acțiunile mouse-ului și capacitatea de a derula conținutul cu rotița mouse-ului. Redirecționarea activată a combinațiilor de taste către GDB care nu sunt procesate în TUI.
  • S-a adăugat suport pentru mecanismul ARMv8.5 MTE (MemTag, Memory Tagging Extension), care vă permite să legați etichete la fiecare operație de alocare a memoriei și să organizați o verificare a pointerului la accesarea memoriei, care trebuie să fie asociată cu eticheta corectă. Protocolul de control de depanare de la distanță oferă suport pentru pachetele „qMemTags” și „QMemTags” pentru legarea etichetelor la memorie.
  • Logica pentru citirea fișierelor de configurare a fost schimbată. Fișierul .gdbinit este acum verificat în următoarea ordine: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit și $HOME/.gdbinit. Acestea. mai întâi în subdirectorul de configurare și abia apoi în directorul principal.
  • În comanda „break […] if CONDITION”, ieșirea de eroare este oprită atunci când o condiție este invalidă în anumite locuri, dacă condiția este valabilă în cel puțin un caz.
  • S-a adăugat suport pentru depanarea dump-urilor de bază generate pentru programele Cygwin compilate pentru arhitectura x86_64.
  • S-a adăugat suport pentru tipurile cu virgulă fixă, precum și pentru constantele DW_AT_GNU_numerator și DW_AT_GNU_denominator.
  • S-a adăugat setarea „pornire-liniștit pornit|oprit”; când este „pornit”, similar cu opțiunea „-silent”.
  • Comanda „ptype” implementează opțiunile /x” și „/d” pentru a selecta hexazecimal sau zecimal atunci când se afișează dimensiunile și offset-urile. S-a adăugat setarea „print type hex on|off” pentru a utiliza valori hexazecimale în ieșirea comenzii „ptype”.
  • În comanda „inferior”, atunci când este apelată fără argumente, este furnizată ieșirea obiectului curent de depanare (inferior).
  • Ieșirea comenzii „sursă de informații” a fost reluată.
  • S-a adăugat comanda „style version foreground | fundal | intensitate" pentru a controla stilul de numerotare a versiunilor.
  • S-au adăugat noi opțiuni de linie de comandă: „—early-init-command” (“-eix”), „—early-init-eval-command” (“-eiex”), „—qualified” (pentru comenzile „-break-insert” ) ' și '-dprintf-insert'), "--force-condition" (pentru comenzile '-break-insert' și '-dprintf-insert'), "--force" (pentru '-break-condition' 'comandă).
  • Comanda „-file-list-exec-source-files” vă permite să specificați expresii regulate pentru a filtra fișierele sursă care urmează să fie procesate. Un câmp „debug-fully-read” a fost adăugat la ieșire pentru a indica măsura în care informațiile de depanare au fost încărcate.
  • Au fost aduse îmbunătățiri la API-ul Python. S-au adăugat metode noi gdb.Frame.level() și db.PendingFrame.level() pentru a returna nivelul stivei pentru un obiect Frame. Când este declanșat un punct de captură, API-ul Python asigură că gdb.BreakpointEvent este trimis în loc de gdb.StopEvent. S-au adăugat setările „python ignore-environment on|off” pentru a ignora variabilele de mediu și „python dont-write-bytecode auto|on|off” pentru a dezactiva scrierea bytecode.
  • Au fost aduse îmbunătățiri la API-ul Guile. Au fost adăugate noi proceduri valoare-referință-valoare, valoare-rvaloare-referință-valoare și valoare-const-valoare.
  • Dependențe de asamblare necesare includ biblioteca GMP (GNU Multiple Precision Arithmetic).
  • Suportul pentru platforma ARM Symbian (arm*-*-symbianelf*) a fost întrerupt.

Sursa: opennet.ru

Adauga un comentariu