GDB 9 дибаг гаргагч хувилбар

Оруулсан дибаглагч хувилбар GDB 9.1 (9.x цувралын анхны хувилбар, салбар 9.0-ийг хөгжүүлэлтэнд ашигласан). GDB нь төрөл бүрийн техник хангамж (i386, amd64, ARM, Power, Sparc, RISC-V) дээр өргөн хүрээний програмчлалын хэлийг (Ada, C, C++, Objective-C, Pascal, Go гэх мэт) эх түвшний дибаг хийхийг дэмждэг. гэх мэт) болон програм хангамжийн платформууд (GNU/Linux, *BSD, Unix, Windows, macOS).

Түлхүүр сайжруулалт:

  • Solaris 10 болон Cell Broadband Engine платформуудын дэмжлэгийг зогсоосон;
  • Texas Instruments процессоруудад ашигладаг PRU (Programmable Real-time Unit) дэд системийн шинэ симулятор нэмэгдсэн (pru-*-elf);
  • Олон урсгалтай горимд дибаг хийх тэмдгүүдийг хурдан ачаалах туршилтын горимыг нэмсэн ("Үндсэн багц ажилчин-threads хязгааргүй" тохиргоогоор идэвхжүүлсэн);
  • Командын нэрэнд '.' тэмдгийг ашиглах боломжтой;
  • Фортран дахь үүрлэсэн функцууд болон дэд програмууд дээр таслах цэгийг тохируулах чадварыг нэмсэн;
  • Нэгдмэл хэв маягт оруулах, командын унших чадварыг сайжруулах ажил хийгдсэн;
  • Зураас тэмдэгт ('-OPT') ашиглан тушаалын аргументуудыг дамжуулах стандарт дэд бүтцийг хэрэгжүүлсэн бөгөөд энэ нь tab товчлуурыг ашиглан автоматаар гүйцээх боломжийг олгодог;
  • "printf" болон "eval" командууд нь програмын функцийг шууд дуудахгүйгээр C болон Ada загварт мөр гаргахад дэмжлэг үзүүлдэг;
  • "Мэдээллийн эх сурвалж" командын ердийн илэрхийлэлд үндэслэн гаралтын файлуудыг шүүх дэмжлэгийг нэмсэн;
  • "Хэвлэх хүрээ-аргументуудыг тохируулах" тохиргоонд "байгаа" параметрийг хэрэгжүүлдэг бөгөөд тохируулсан үед нэр, утгыг харуулахын оронд аргументуудад зөвхөн "..." байгаа байдлын үзүүлэлтийг харуулна;
  • Интерфэйс дээр TUI командууд "focus", "winheight", "+", "-", ">", "<" одоо том жижиг үсгийн мэдрэмжтэй болсон;
  • "Хэвлэх", "хэвлэх", "буцах", "хүрээ" гэсэн командуудын хувьд
    "хэрэглэх", "tfaas" болон "faas" сонголтууд нь глобал тохиргоог хүчингүй болгохын тулд хэрэгжсэн (жишээлбэл, "хэвлэхийг тохируулах [...]"-ээр тохируулсан);

  • Зарим толгойн гаралтыг идэвхгүй болгохын тулд "мэдээллийн төрлүүд" команд дээр "-q" сонголтыг нэмсэн;
  • Тохиргоонд "хязгааргүй" утгын оронд "u" гэж зааж өгч болно;
  • Шинэ тушаалууд нэмэгдсэн:
    • "define-prefix" өөрийн угтвар тушаалуудыг тодорхойлох;
    • "|" эсвэл "хоолой" командыг ажиллуулж, гаралтыг бүрхүүлийн команд руу дахин чиглүүлэх;
    • "with" нь заасан командыг түр хугацаанд өөрчилсөн тохиргоогоор ажиллуулах;
    • Дэд программыг GDB-ээс дуудаж болох эсэхийг хянах "may-call-функцуудыг тохируулах";
    • "дуусгах" командыг ашиглах үед буцаах утгын дэлгэцийг удирдах "set print finish [on|off]";
    • үүрлэсэн бүтцийн гаралтыг хязгаарлахын тулд "хэвлэх хамгийн их гүнийг тохируулах";
    • Гаралтын утгын форматыг идэвхжүүлэх/идэвхгүй болгохын тулд “хэвлэх түүхий утгыг тохируулах [on|off]”;
    • Дибаг хийх гаралтыг лог файлд хадгалахыг хянахын тулд “logging debugredirect [on|off] тохируулах;
    • Шинэ "загвар тохируулах" командуудын цуврал;
    • Стекийн фрэймийн төлөвийг харуулах үед хэвлэх ёстой мэдээллийг тодорхойлох "хэвлэх хүрээ-мэдээллийг тохируулах [...]";
    • TUI (Текст хэрэглэгчийн интерфэйс) интерфэйс дэх кодыг харуулах авсаархан горимыг идэвхжүүлэхийн тулд "tui компакт эх сурвалжийг тохируулах";
    • “Мэдээллийн модулиуд […]” Fortran модулиудын талаар мэдээлэл хүсэх;
    • "Түүхий хүрээ-аргументуудыг хэвлэх/харуулах"-ын оронд "хэвлэх түүхий хүрээ-аргументуудыг тохируулах/ харуулах" командыг санал болгож байна (салгагч болгон зайны оронд зураас ашигладаг);
  • Хяналтын програм хангамжийн интерфейс дээр GDB/MI “-бүрэн”, “-барих-шидэлт”, “-барьж-дахин”, “-барьж авах”, “-тэмдэгт-мэдээлэл-функцууд”, “-тэмдэгт-мэдээлэл-төрлүүд”, шинэ командуудыг нэмсэн.
    "-тэмдэг-мэдээлэл-хувьсагч", "-тэмдэг-мэдээлэл-модуль", "-тэмдэг-мэдээлэл-модуль-функцууд" болон "-тэмдэгт-мэдээлэл-модуль-хувьсагч" нь ижил 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
  • gdbinit системийн файлуудын замыг тодорхойлохын тулд "--with-system-gdbinit-dir" сонголтыг тохируулах бүтээх скриптэд нэмсэн;
  • Python API-д хэд хэдэн сайжруулалт хийгдсэн. Windows дээр Python 3 ашиглан бүтээх чадварыг нэмсэн;
  • Угсралтын орчинд тавигдах шаардлагыг нэмэгдүүлсэн. Одоо GDB болон GDBserver-ийг бүтээхэд хамгийн багадаа GNU 3.82 байх шаардлагатай. Гадны дахин унших номын сантай ажиллахад хамгийн багадаа GNU readline 7.0 шаардлагатай.

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

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