Lëshimi i korrigjuesit të GDB 13

Është paraqitur lëshimi i korrigjuesit GDB 13.1 (lëshimi i parë i serisë 13.x, dega 13.0 u përdor për zhvillim). GDB mbështet korrigjimin e nivelit të burimit për një gamë të gjerë gjuhësh programimi (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, etj.) në pajisje të ndryshme (i386, amd64 , ARM, Power, Sparc, RISC-V, etj.) dhe platformat softuerike (GNU/Linux, *BSD, Unix, Windows, macOS).

Përmirësimet kryesore:

  • Mbështetje e shtuar për ekzekutimin e korrigjuesit dhe GDBserver në arkitekturat GNU/Linux/LoongArch dhe GNU/Linux/CSKY.
  • Mbështetja për të punuar në platformën Windows në modalitetin asinkron (asinkron) është zbatuar.
  • Në platformën FreeBSD, mbështetja për variablat TLS (Thread Local Storage) është shtuar për arkitekturat ARM dhe AArch64, dhe aftësia për të përdorur pikat e ndërprerjes së harduerit (pika e vëzhgimit) është siguruar për arkitekturën AArch64.
  • Në mjedisin GNU/Linux në sistemet LoongArch, është shtuar mbështetje për llogaritjet me pikë lundruese.
  • U zbatuan komanda të reja "maintenance set ignore-prologue-end-flag|libopcodes-styling" dhe "maintenance print frame-id", si dhe komanda për të kontrolluar stilin e daljes së çmontuar (cakto stilin e çmontimit *).
  • U shtuan komandat "set print nibbles [on|off]" dhe "show print nibbles" për të kontrolluar shfaqjen e vlerave binare në grupe me katër bajtë.
  • Janë bërë përmirësime në Python API. Është shtuar një API për çmontimin e udhëzimeve, është zbatuar lloji gdb.BreakpointLocation dhe janë shtuar funksionet gdb.format_address, gdb.current_language dhe gdb.print_options.
  • Versioni i parë i ndërfaqes së menaxhimit GDB/MI është zhvlerësuar dhe do të hiqet në GDB 14.
  • Mbështetje e shtuar për seksionet e korrigjimit të ngjeshur duke përdorur algoritmin zstd në skedarët ELF.
  • U shtuan variabla të reja të integruara: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • Formati i daljes së komandave 'disassemble /r' dhe 'record instruction-history /r' është rregulluar që të përputhet me daljen e objdump. Për të kthyer formatin e vjetër, është shtuar modaliteti "/b".
  • Në TUI (Text User Interface), stilimi i kodit të burimit dhe montimit të theksuar nga treguesi i pozicionit aktual është i çaktivizuar.
  • Është e mundur të përdoret komanda "dokument" për të dokumentuar komandat e përdoruesit.
  • U shtua aftësia për të krijuar deponime me të dhënat e etiketave të memories të përdorura kur përdorni mekanizmin ARMv8.5 MTE (MemTag, Memory Tagging Extension), i cili ju lejon të lidhni etiketat me secilin operacion të ndarjes së memories dhe të organizoni një kontroll të treguesit kur qaseni në kujtesë, i cili duhet të jetë lidhur me etiketën e duhur.
  • Modaliteti i përputhshmërisë DBX është ndërprerë.
  • Mbështetja për ndërtimin duke përdorur Python 2 është ndërprerë.
  • Komandat "vendos debug aix-solib on|off", "show debug aix-solib", "set debug solib-frv on|off" dhe "show debug solib-frv" janë hequr dhe komandat "set/show debug" duhet të përdoret në vend të solib."

Burimi: opennet.ru

Shto një koment