GDB 11 мүчүлүштүктөрдү оңдоочу релиз

GDB 11.1 мүчүлүштүктөрдү оңдоочу релиз көрсөтүлдү (11.x сериясынын биринчи релизи, 11.0 бутагы иштеп чыгуу үчүн колдонулган). GDB ар кандай жабдыктарда (i386, amd64, ARM, Power, Sparc, RISC) программалоо тилдеринин кеңири диапазону үчүн (Ada, C, C++, Objective-C, Pascal, Go, Rust ж.б.) булак деңгээлиндеги мүчүлүштүктөрдү оңдоону колдойт. - V ж.б.) жана программалык платформалар (GNU/Linux, *BSD, Unix, Windows, macOS).

Негизги жакшыртуулар:

  • TUI (Текст колдонуучу интерфейси) чычкандын аракеттерин колдоону жана чычкан дөңгөлөгү менен мазмунду жылдыруу мүмкүнчүлүгүн кошту. TUIде иштетилбеген ачкыч айкалыштарын GDBге жөнөтүү иштетилди.
  • 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 подкаталогунда, андан кийин гана үй каталогунда.
  • “БАРАК […] if CONDITION” буйругунда катанын чыгышы шарт белгилүү жерлерде жараксыз болгондо токтотулат, эгерде шарт жок дегенде бир учурда жарактуу болсо.
  • x86_64 архитектурасы үчүн түзүлгөн Cygwin программалары үчүн түзүлгөн негизги таштандыларды оңдоо үчүн кошумча колдоо.
  • Туруктуу чекиттин түрлөрү, ошондой эле DW_AT_GNU_numerator жана DW_AT_GNU_деноминатор константалары үчүн колдоо кошулду.
  • Кошулган "баштоо-унчукпай күйгүзүү|өчүрүү" жөндөөлөрү; качан "күйгүзүлгөн", "-silent" опциясына окшош.
  • "Ptype" буйругу өлчөмдөрдү жана офсеттерди көрсөтүүдө он алтылык же ондук санды тандоо үчүн /x" жана "/d" опцияларын ишке ашырат. "Ptype" буйругунун чыгышында он алтылык маанилерди колдонуу үчүн "басып чыгаруу түрү он алтылык күйгүзүү| өчүрүү" жөндөөсү кошулду.
  • "Төмөнкү" командада, аргументсиз чакырылганда, учурдагы мүчүлүштүктөрдү оңдоо объектинин (төмөнкү) чыгышы камсыз кылынат.
  • "Инфо булагы" буйругунун чыгышы кайра иштетилди.
  • Кошулган команда “стил версиясынын алдыңкы планы | фон | версиянын номерлөө стилин көзөмөлдөө үчүн интенсивдүүлүк.
  • Жаңы буйрук сабынын параметрлери кошулду: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “-qualified” ('-break-insert буйруктары үчүн) ) ' жана '-dprintf-insert'), "--force-шарт" ('-break-insert' жана '-dprintf-insert' буйруктары үчүн), "--force" ('-break-шарт үчүн) "буйрук).
  • '-file-list-exec-source-files' буйругу иштетилүүчү баштапкы файлдарды чыпкалоо үчүн кадимки туюнтмаларды көрсөтүүгө мүмкүндүк берет. Мүчүлүштүктөрдү оңдоо маалыматы канчалык деңгээлде жүктөлгөндүгүн көрсөтүү үчүн чыгарууга "мүчөлөрдү оңдоо-толугу менен окуу" талаасы кошулду.
  • Python API'ге жакшыртуулар киргизилди. Frame объектинин стек деңгээлин кайтаруу үчүн gdb.Frame.level() жана db.PendingFrame.level() жаңы ыкмалар кошулду. Качан кармоочу пункт иштетилгенде, Python API gdb.StopEvent ордуна gdb.BreakpointEvent жөнөтүлүшүн камсыздайт. Айлана-чөйрө өзгөрмөлөрүн этибарга албоо үчүн "python ignore-environment on|off" жана байт код жазууну өчүрүү үчүн "python dont-write-bytecode auto|on|off" жөндөөлөрү кошулду.
  • Guile API'ге жакшыртуулар киргизилди. Жаңы жол-жоболору нарк-маалымат-маани, нарк-value-маалымат-маани жана маани-const-маани кошулду.
  • Керектүү монтаждык көз карандылыкка GMP (GNU Multiple Precision Arithmetic) китепканасы кирет.
  • ARM Symbian платформасын колдоо (arm*-*-symbianelf*) токтотулду.

Source: opennet.ru

Комментарий кошуу