Վրիպազերծիչի թողարկում GDB 9

Ներկայացվել է վրիպազերծիչի թողարկում GDB 9.1 (9.x շարքի առաջին թողարկումը, 9.0 ճյուղը օգտագործվել է մշակման համար): GDB-ն աջակցում է աղբյուրի մակարդակի կարգաբերում ծրագրավորման լեզուների լայն շրջանակի համար (Ada, C, C++, Objective-C, Pascal, Go և այլն) տարբեր սարքավորումների վրա (i386, amd64, ARM, Power, Sparc, RISC-V): և այլն) և ծրագրային հարթակներ (GNU/Linux, *BSD, Unix, Windows, macOS):

Բանալի բարելավումներ:

  • Solaris 10 և Cell Broadband Engine հարթակների աջակցությունը դադարեցվել է.
  • Ավելացվել է PRU (Programmable Real-time Unit) ենթահամակարգի նոր սիմուլյատոր, որն օգտագործվում է Texas Instruments պրոցեսորներում (pru-*-elf);
  • Ավելացվեց փորձնական ռեժիմ՝ վրիպազերծման նշանների արագ բեռնման համար բազմաշերտ ռեժիմում (միացված է «հիմնական հավաքածուի աշխատող-թելեր անսահմանափակ» պարամետրի միջոցով);
  • Հրամանների անուններում հնարավոր է օգտագործել «.» նշանը;
  • Ավելացրել է Fortran-ում տեղադրված գործառույթների և ենթածրագրերի ընդմիջման կետեր սահմանելու հնարավորությունը.
  • Աշխատանքներ են տարվել միասնական ոճի բերելու և հրամանների ընթեռնելիությունը բարելավելու ուղղությամբ.
  • Ստանդարտ ենթակառուցվածք է ներդրվել հրամանի արգումենտներ փոխանցելու համար՝ օգտագործելով dash նիշը ('-OPT'), որը թույլ է տալիս ավտոմատ լրացնել՝ օգտագործելով tab ստեղնը;
  • «printf» և «eval» հրամաններն ապահովում են C և Ada ոճերում տողերի թողարկման աջակցություն՝ առանց ծրագրում գործառույթ ուղղակիորեն կանչելու:
  • Ավելացվել է ելքային ֆայլերի զտման աջակցություն՝ հիմնված «info sources» հրամանի կանոնավոր արտահայտության վրա.
  • «Սահմանել տպման շրջանակ-արգումենտներ» պարամետրում իրականացվում է «ներկայություն» պարամետրը, երբ սահմանված է, արգումենտների համար ցուցադրվում է միայն «…» ներկայության ցուցիչը՝ անունը և արժեքը ցուցադրելու փոխարեն.
  • Ինտերֆեյսի մեջ TUI «focus», «winheight», «+», «-», «>», «<» հրամաններն այժմ մեծատառերի զգայուն են:
  • «print», «compile print», «backtrace», «frame» հրամանների համար
    կիրառել», «tfaas» և «faas» տարբերակները ներդրվել են գլոբալ կարգավորումները վերացնելու համար (օրինակ՝ «set print [...]» միջոցով սահմանվածները);

  • «-q» տարբերակը ավելացվել է «info types» հրամանին՝ որոշ վերնագրերի ելքը անջատելու համար;
  • Պարամետրերում, «անսահմանափակ» արժեքի փոխարեն, այժմ կարող եք նշել «u»;
  • Ավելացվեցին նոր հրամաններ.
    • «define-prefix»՝ ձեր սեփական նախածանցի հրամանները սահմանելու համար;
    • «|» կամ «խողովակ»՝ հրաման գործարկելու և ելքը դեպի shell հրամանը վերահղելու համար.
    • «հետ»՝ նշված հրամանը ժամանակավորապես փոփոխված կարգավորումներով գործարկելու համար.
    • «Սահմանել may-call-functions»՝ վերահսկելու, թե արդյոք ենթածրագրերը կարող են կանչվել GDB-ից.
    • «set print finish [on|off]»՝ «finish» հրամանն օգտագործելիս վերադարձվող արժեքի ցուցադրումը կառավարելու համար.
    • «սահմանել տպման առավելագույն խորությունը»՝ սահմանափակելու մեջ տեղադրված կառուցվածքների ելքը.
    • «սահմանել տպագիր հումքի արժեքները [միացված|անջատված]»՝ ելքային արժեքների ձևաչափումը միացնելու/անջատելու համար.
    • «սահմանել logging debugredirect [միացված|անջատված]»՝ վերահսկելու վրիպազերծման ելքը գրանցամատյան ֆայլում պահելը.
    • Մի շարք նոր «set style» հրամաններ;
    • «սահմանել տպման շրջանակի տեղեկատվությունը […]»՝ սահմանելու այն տեղեկատվությունը, որը պետք է տպագրվի, երբ ցուցադրվում է կույտի շրջանակի վիճակը.
    • «սահմանել tui compact-source»՝ TUI (Text User Interface) ինտերֆեյսում կոդը ցուցադրելու կոմպակտ ռեժիմը միացնելու համար.
    • «Տեղեկատվական մոդուլներ […]»՝ Fortran մոդուլների մասին տեղեկատվություն պահանջելու համար.
    • «set/show print print raw frame-arguments» փոխարեն առաջարկվում է «set/show print print raw-frame-arguments» հրամանը (օգտագործում է գծիկ՝ տարածության փոխարեն որպես բաժանարար);
  • Կառավարման ծրագրային ինտերֆեյսի մեջ GDB/MI ավելացրել է նոր հրամաններ «-complete», «-catch-trow», «-catch-rethrow», «-catch-catch», «-symbol-info-functions», «-symbol-info-types»,
    «-symbol-info-variables», «-symbol-info-modules», «-symbol-info-module-functions» և «-symbol-info-module-variables»-ը համարժեք են նույն GDB հրամաններին: Լռելյայնորեն ակտիվացված է MI թարգմանչի երրորդ տարբերակը (-i=mi3);

  • Ավելացվել են նոր ներկառուցված փոփոխականներ.
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Ավելացրել է «--with-system-gdbinit-dir» տարբերակը configure build script-ին` gdbinit համակարգի ֆայլերի ուղին որոշելու համար;
  • Python API-ում մի շարք բարելավումներ են կատարվել: Ավելացրել է Windows-ում Python 3-ով կառուցելու հնարավորությունը;
  • Բարձրացվել են հավաքման միջավայրին ներկայացվող պահանջները: GDB-ի և GDBserver-ի կառուցման համար այժմ պահանջվում է առնվազն GNU make 3.82: Արտաքին ընթերցանության գրադարանով կառուցելիս պահանջվում է առնվազն GNU readline 7.0:

Source: opennet.ru

Добавить комментарий