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) механизмын дэмжлэгийг нэмсэн бөгөөд энэ нь санах ойг хуваарилах үйлдэл бүрт хаягуудыг холбох, санах ойд хандах үед заагч шалгах ажлыг зохион байгуулах боломжийг олгодог бөгөөд энэ нь зөв шошготой холбоотой байх ёстой. Алсын зайнаас дибаг хийх хяналтын протокол нь санах ойд хаягуудыг холбох "qMemTags" болон "QMemTags" багцуудад дэмжлэг үзүүлдэг.
  • Тохиргооны файлуудыг унших логик өөрчлөгдсөн. Одоо .gdbinit файлыг дараах дарааллаар шалгаж байна: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit болон $HOME/.gdbinit. Тэдгээр. эхлээд config дэд директорт, зөвхөн дараа нь гэрийн лавлахад.
  • “Хэрэв НӨХЦЛИЙГ эвдэх […]” командын хувьд нөхцөл нь тодорхой газар хүчингүй болсон үед, хэрэв нөхцөл нь дор хаяж нэг тохиолдолд хүчинтэй байвал алдааны гаралтыг зогсооно.
  • x86_64 архитектурт зориулан эмхэтгэсэн Cygwin программуудад зориулж үүсгэсэн үндсэн дампуудыг дибаг хийх дэмжлэг нэмэгдсэн.
  • Тогтмол цэгийн төрлүүд, түүнчлэн DW_AT_GNU_тоологч ба DW_AT_GNU_ хуваарийн тогтмолуудын дэмжлэгийг нэмсэн.
  • "Startup-chietly on|off" тохиргоог нэмсэн; "асаалттай" үед "-чимээгүй" сонголттой төстэй.
  • "ptype" команд нь хэмжээ, офсетийг харуулахдаа арван арвантэгдүгээр буюу аравтын тоо сонгохдоо /x" ба "/d" сонголтыг хэрэгжүүлдэг. 'ptype' командын гаралтад арван арвантын утгыг ашиглахын тулд "хэвлэх төрөл hex on|off" тохиргоог нэмсэн.
  • "Доод" команд дээр аргументгүйгээр дуудагдах үед одоогийн дибаг хийх объектын (доод) гаралтыг өгдөг.
  • "Мэдээллийн эх сурвалж" командын гаралтыг дахин боловсруулсан.
  • "Загварын хувилбарын урд | командыг нэмсэн дэвсгэр | хувилбарын дугаарлалтын хэв маягийг хянахын тулд эрчим".
  • Шинэ командын мөрийн сонголтуудыг нэмсэн: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “-qualified” ('-break-insert командуудад зориулсан) ) ' ба '-dprintf-insert'), "--force-condition" ('-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-д сайжруулалт хийгдсэн. Үнэ цэнэ-лавлагаа-утга, үнэ цэнэ-үнэ-эшлэг-утга, үнэ цэнэ-const-утга гэсэн шинэ журам нэмэгдсэн.
  • Шаардлагатай угсралтын хамаарлууд нь GMP (GNU Multiple Precision Arithmetic) номын санг агуулдаг.
  • ARM Symbian платформыг (arm*-*-symbianelf*) дэмжихээ больсон.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх