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

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

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

  • Ավելացվեց վրիպազերծիչի և GDBserver-ի գործարկման աջակցություն GNU/Linux/LoongArch և GNU/Linux/CSKY ճարտարապետություններում:
  • Իրականացվել է Windows պլատֆորմի վրա ասինխրոն ռեժիմով (ասինխրոն) աշխատելու աջակցություն:
  • FreeBSD հարթակում ARM և AArch64 ճարտարապետությունների համար ավելացվել է TLS (Thread Local Storage) փոփոխականների աջակցությունը, իսկ AArch64 ճարտարապետության համար տրամադրվել է ապարատային բեկման կետեր (դիտակետ) օգտագործելու հնարավորություն:
  • LoongArch համակարգերի GNU/Linux միջավայրում ավելացվել է լողացող կետի հաշվարկների աջակցություն:
  • Իրականացվել են նոր հրամաններ «maintenance set ignore-prologue-end-flag|libopcodes-styling» և «maintenance print frame-id», ինչպես նաև հրամաններ՝ վերահսկելու ապամոնտաժված ելքի ոճը (սահմանել ոճի ապամոնտաժող *):
  • Ավելացվել են «set print nibbles [on|off]» և «show print nibbles» հրամանները՝ չորս բայթ խմբերով երկուական արժեքների ցուցադրումը կառավարելու համար:
  • Բարելավումներ են կատարվել Python API-ում: Ավելացվել է հրահանգների ապամոնտաժման API, ներդրվել է gdb.BreakpointLocation տեսակը և ավելացվել են gdb.format_address, gdb.current_language և gdb.print_options ֆունկցիաները:
  • GDB/MI կառավարման միջերեսի առաջին տարբերակը հնացել է և կհեռացվի GDB 14-ում:
  • Ավելացվել է ELF ֆայլերում zstd ալգորիթմի միջոցով սեղմված վրիպազերծման բաժինների աջակցություն:
  • Ավելացվեցին նոր ներկառուցված փոփոխականներ՝ $_inferior_thread_count, $_hit_bpnum, $_hit_locno:
  • «disassemble /r» և «record instruction-history /r» հրամանների ելքային ձևաչափը ճշգրտվել է, որպեսզի համապատասխանի objdump-ի ելքին: Հին ձևաչափը վերադարձնելու համար ավելացվել է «/b» ռեժիմը:
  • TUI-ում (Տեքստային օգտագործողի միջերես) անջատված է ընթացիկ դիրքի ցուցիչով ընդգծված աղբյուրի և հավաքման կոդի ոճավորումը:
  • Օգտվողի հրամանները փաստաթղթավորելու համար հնարավոր է օգտագործել «փաստաթուղթ» հրամանը:
  • Ավելացրել է ARMv8.5 MTE (MemTag, Memory Tagging Extension) մեխանիզմն օգտագործելիս հիշողության պիտակի տվյալների հետ աղբավայրեր ստեղծելու հնարավորությունը, որը թույլ է տալիս պիտակները կապել յուրաքանչյուր հիշողության բաշխման գործողության հետ և կազմակերպել ցուցիչի ստուգում հիշողություն մուտք գործելիս, որը պետք է լինի կապված ճիշտ պիտակի հետ:
  • DBX համատեղելիության ռեժիմը դադարեցվել է:
  • Python 2-ի օգտագործմամբ կառուցման աջակցությունը դադարեցվել է:
  • «set debug aix-solib on|off», «show debug aix-solib», «set debug solib-frv on|off» և «show debug solib-frv» հրամանները հանվել են, իսկ «set/show» հրամանները: debug»-ը պետք է օգտագործվի solib-ի փոխարեն»:

Source: opennet.ru

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