GDB 9-ontfoutervrystelling

Bekendgestel ontfouter vrystelling GDB 9.1 (eerste vrystelling van die 9.x-reeks, tak 9.0 is vir ontwikkeling gebruik). GDB ondersteun bronvlak-ontfouting vir 'n wye reeks programmeertale (Ada, C, C++, Objective-C, Pascal, Go, ens.) Op verskeie hardeware (i386, amd64, ARM, Power, Sparc, RISC-V en ens.) en sagtewareplatforms (GNU/Linux, *BSD, Unix, Windows, macOS).

Sleutel verbeterings:

  • Ondersteuning vir Solaris 10 en Cell Broadband Engine-platforms is gestaak;
  • Bygevoeg 'n nuwe simulator van die PRU (Programmeerbare Real-time Unit) substelsel wat gebruik word in Texas Instruments verwerkers (pru-*-elf);
  • Bygevoeg 'n eksperimentele modus vir vinnige laai van ontfoutingsimbole in multi-threaded modus (geaktiveer via die 'maint set worker-threads unlimited' instelling);
  • Dit is moontlik om die simbool '.' in opdragname te gebruik;
  • Bygevoeg die vermoë om breekpunte op geneste funksies en subroetines in Fortran te stel;
  • Werk is gedoen om 'n verenigde styl te bring en die leesbaarheid van opdragte te verbeter;
  • 'n Standaard-infrastruktuur is geïmplementeer om bevelargumente deur te gee deur die streepkarakter ('-OPT') te gebruik, wat outovoltooiing moontlik maak deur die tab-sleutel te gebruik;
  • Die "printf" en "eval" opdragte implementeer ondersteuning vir die uitvoer van stringe in C en Ada style sonder om direk 'n funksie in die program te roep;
  • Bygevoeg ondersteuning vir die filter van uitsetlêers gebaseer op 'n gereelde uitdrukking in die "info sources" opdrag;
  • In die “stel druk raam-argumente”-instelling word die “teenwoordigheid”-parameter geïmplementeer, wanneer dit gestel is, word slegs die teenwoordigheidsaanwyser “...” vir argumente vertoon in plaas van om die naam en waarde te vertoon;
  • In die koppelvlak TUI die opdragte "fokus", "winhoogte", "+", "-", ">", "<" is nou hooflettergevoelig;
  • Vir die opdragte "print", "compile print", "backtrace", "frame"
    toepassing", "tfaas" en "faas" opsies is geïmplementeer om globale instellings te ignoreer (byvoorbeeld dié wat gestel is via "stel druk […]");

  • Die "-q" opsie is bygevoeg by die "info types" opdrag om die uitvoer van sommige kopskrifte te deaktiveer;
  • In die instellings, in plaas van die "onbeperkte" waarde, kan jy nou "u" spesifiseer;
  • Nuwe opdragte bygevoeg:
    • "definieer-voorvoegsel" om jou eie voorvoegsel opdragte te definieer;
    • "|" of "pyp" om 'n opdrag uit te voer en die uitvoer na 'n dop opdrag te herlei;
    • "met" om die gespesifiseerde opdrag uit te voer met tydelik veranderde instellings;
    • "stel mag-oproep-funksies" om te beheer of 'n subroetine vanaf GDB geroep kan word;
    • "stel drukafwerking [aan|af]" om die vertoning van die terugkeerwaarde te beheer wanneer die "finish"-opdrag gebruik word;
    • "stel druk maksimum-diepte" om die uitset van geneste strukture te beperk;
    • "stel rouwaardes vir druk [aan|af]" om die formatering van uitvoerwaardes te aktiveer/deaktiveer;
    • "stel logging debugredirect [aan|af]" om die stoor van debug-uitvoer na 'n loglêer te beheer;
    • 'n Reeks nuwe "stel styl"-opdragte;
    • “stel drukraam-inligting […]” om die inligting te definieer wat gedruk moet word wanneer die stapelraamtoestand vertoon word;
    • "stel tui kompakte bron" om kompakte modus te aktiveer vir die vertoon van kode in die TUI (Teksgebruikerskoppelvlak)-koppelvlak;
    • "inligtingsmodules […]" om inligting oor Fortran-modules aan te vra;
    • In plaas van "stel/wys druk rou raam-argumente", word die opdrag "stel/wys druk rou-raam-argumente" voorgestel (gebruik 'n streep in plaas van 'n spasie as 'n skeier);
  • In beheer sagteware koppelvlak GDB/MI nuwe opdragte bygevoeg “-voltooi”, “-vang-gooi”, “-vang-terug”, “-vang-vang”, “-simbool-inligting-funksies”, “-simbool-inligting-tipes”,
    "-simbool-inligting-veranderlikes", "-simbool-inligting-modules", "-simbool-inligting-module-funksies" en "-simbool-inligting-module-veranderlikes" is gelykstaande aan dieselfde GDB-opdragte. By verstek is die derde weergawe van die MI-tolk geaktiveer (-i=mi3);

  • Bygevoeg nuwe ingeboude veranderlikes:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Het die "--with-system-gdbinit-dir" opsie by die konfigureer bou script gevoeg om die pad na die gdbinit stelsel lêers te bepaal;
  • 'n Aantal verbeterings is aan die Python API aangebring. Bygevoeg die vermoë om te bou met Python 3 op Windows;
  • Die vereistes vir die monteeromgewing is verhoog. Die bou van GDB en GDBserver vereis nou ten minste GNU make 3.82. Wanneer jy met 'n eksterne leeslyn-biblioteek bou, word ten minste GNU-leeslyn 7.0 vereis.

Bron: opennet.ru

Voeg 'n opmerking