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

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

Հիմնական բարելավումներ.

  • TUI (Text User Interface) ավելացրել է մկնիկի գործողությունների աջակցություն և մկնիկի անիվով բովանդակությունը ոլորելու հնարավորություն: Միացված է բանալիների համակցությունների փոխանցումը GDB, որոնք չեն մշակվում TUI-ում:
  • Ավելացվել է ARMv8.5 MTE (MemTag, Memory Tagging Extension) մեխանիզմի աջակցությունը, որը թույլ է տալիս պիտակները կապել յուրաքանչյուր հիշողության բաշխման գործողության հետ և կազմակերպել ցուցիչի ստուգում հիշողություն մուտք գործելիս, որը պետք է կապված լինի ճիշտ պիտակի հետ: Remote Debug Control Protocol-ը ապահովում է «qMemTags» և «QMemTags» փաթեթների աջակցություն՝ պիտակները հիշողությանը կապելու համար:
  • Փոխվել է կազմաձևման ֆայլերի ընթերցման տրամաբանությունը: .gdbinit ֆայլն այժմ ստուգվում է հետևյալ հաջորդականությամբ՝ $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit և $HOME/.gdbinit: Նրանք. նախ config ենթագրքում, և միայն այնուհետև հիմնական գրացուցակում:
  • «Ընդհատել [...] եթե ՊԱՅՄԱՆ» հրամանում սխալի ելքը դադարեցվում է, երբ պայմանը որոշակի վայրերում անվավեր է, եթե պայմանը վավեր է առնվազն մեկ դեպքում:
  • Ավելացվել է աջակցություն x86_64 ճարտարապետության համար կազմված Cygwin ծրագրերի համար ստեղծված հիմնական աղբավայրերի վրիպազերծման համար:
  • Ավելացված է աջակցություն ֆիքսված կետի տեսակների, ինչպես նաև DW_AT_GNU_numerator և DW_AT_GNU_denominator հաստատունների համար:
  • Ավելացվեց «startup-quietly on|off» պարամետրը; երբ «միացված», «-լուռ» տարբերակի նման:
  • «ptype» հրամանն իրականացնում է /x» և «/d» տարբերակները՝ չափերը և շեղումները ցուցադրելիս վեցանկյուն կամ տասնորդական ընտրելու համար: Ավելացվեց «print type hex on|off» պարամետրը՝ «ptype» հրամանի ելքում տասնվեցական արժեքներ օգտագործելու համար:
  • «inferior» հրամանում, երբ կանչվում է առանց արգումենտների, տրամադրվում է ընթացիկ կարգաբերման օբյեկտի (ստորադաս) ելքը։
  • «Տեղեկատվության աղբյուր» հրամանի ելքը վերամշակվել է:
  • Ավելացվեց հրամանը «style version foreground | ֆոն | ինտենսիվություն» տարբերակի համարակալման ոճը վերահսկելու համար:
  • Հրամանի տողի նոր տարբերակներ են ավելացվել՝ «—early-init-command» («-eix»), «—early-init-eval-command» («-eiex»), «—qualified» («-break-insert հրամանների համար» ) ' և '-dprintf-insert'), "--force-condition" ("-break-insert" և "-dprintf-insert" հրամանների համար), "--force" ("-break-condition"-ի համար ' հրաման).
  • «-file-list-exec-source-files» հրամանը թույլ է տալիս նշել կանոնավոր արտահայտություններ՝ մշակման ենթակա աղբյուրի ֆայլերը զտելու համար: Արդյունքում ավելացվել է «վրիպազերծման ամբողջությամբ կարդացված» դաշտը, որը ցույց է տալիս, թե որքանով է բեռնված վրիպազերծման տեղեկատվությունը:
  • Բարելավումներ են կատարվել Python API-ում: Ավելացվել են նոր մեթոդներ gdb.Frame.level() և db.PendingFrame.level()՝ Frame օբյեկտի համար կուտակային մակարդակը վերադարձնելու համար: Երբ catchpoint է գործարկվում, Python API-ն ապահովում է, որ gdb.BreakpointEvent-ը ուղարկվի gdb.StopEvent-ի փոխարեն: Ավելացվեց «python ignore-environment on|off» կարգավորումները՝ անտեսելու շրջակա միջավայրի փոփոխականները, և «python dont-write-bytecode auto|on|off»՝ բայթ-կոդ գրելը անջատելու համար:
  • Բարելավումներ են կատարվել Guile API-ում: Ավելացվել են նոր պրոցեդուրաներ value-reference-value, value-rvalue-reference-value և value-const-value:
  • Հավաքման պահանջվող կախվածությունները ներառում են GMP (GNU Multiple Precision Arithmetic) գրադարանը:
  • ARM Symbian պլատֆորմի (arm*-*-symbianelf*) աջակցությունը դադարեցվել է։

Source: opennet.ru

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