Versiunea de depanare GDB 8.3

Introdus lansarea depanatorului GDB 8.3, care acceptă depanarea la nivel de sursă pentru o gamă largă de limbaje de programare (Ada, C, C++, Objective-C, Pascal, Go etc.) pe diverse hardware (i386, amd64, ARM, Power, Sparc, RISC-V și etc.) și platforme software (GNU/Linux, *BSD, Unix, Windows, macOS).

Cheie îmbunătățiri:

  • Interfețele CLI și TUI au acum capacitatea de a defini stilul terminalului (a fost adăugată comanda „set style”). Cu GNU Highlight, este implementată evidențierea textului sursă;
  • S-a implementat suport experimental pentru compilarea și înlocuirea codului sursă C++ într-un proces controlat de GDB
    (mai puțin). Pentru a funcționa, aveți nevoie de cel puțin o versiune a GCC 7.1b compilată cu libcp1.so;

  • Suportul IPv6 a fost adăugat la GDB și GDBserver. Pentru a seta adrese IPv6, utilizați formatul „[ADRESA]:PORT”;
  • Pentru sistemele țintă RISC-V, a fost adăugat suport pentru descrierea țintei în format XML (Format de descriere țintă);
  • Platforma FreeBSD oferă suport pentru instalarea punctelor de interceptare
    (catchpoint) la apelurile de sistem folosind alias-urile specifice diferitelor ABI-uri (de exemplu, pentru „kevent” este disponibil un alias „freebsd11_kevent” pentru a se lega de vechiul ABI);

  • Suport pentru socket-uri Unix (socket Unix Domain) a fost adăugat la comanda „target remote”;
  • S-a adăugat posibilitatea de a afișa toate fișierele deschise de un proces (comanda „info proc files”);
  • A implementat capacitatea de a salva automat indexurile simbolurilor DWARF pe disc pentru a accelera încărcarea ulterioară a aceluiași fișier executabil;
  • S-a adăugat suport pentru accesarea registrelor PPR, DSCR, TAR, EBB/PMU și HTM la GDBserver pentru platforma PowerPC GNU/Linux;
  • S-au adăugat comenzi noi „set/show debug compile-cplus-types” și
    „set/show debug skip” pentru a configura ieșirea datelor despre conversiile de tip C++ și informații despre fișierele și funcțiile ignorate;

  • S-au adăugat comenzi „frame apply COMMAND”, „taas COMMAND”, „faas COMMAND”, „tfaas COMMAND” pentru aplicarea comenzilor pentru a stivui cadre și fire;
  • Au fost aduse îmbunătățiri la comenzile „frame”, „select-frame”, „info frame”,
    — „funcții de informații”, „tipuri de informații”, „variabile de informații”, „fir de informații”, „proc informații”;

  • Când rulează în modul batch, GDB returnează acum codul de eroare 1 dacă ultima comandă eșuează;
  • S-a adăugat capacitatea de a construi GDB cu Undefined Behavior Sanitizer oferit de GCC;
  • S-au adăugat setări de bază de sistem (configurație nativă, pentru depanare pe același sistem) pentru platformele RISC-V GNU/Linux (riscv*-*-linux*) și RISC-V FreeBSD (riscv*-*-freebsd*);
  • Configurații țintă adăugate: CSKY ELF (csky*-*-elf), CSKY GNU/Linux (csky*-*-linux), NXP S12Z ELF (s12z-*-elf), OpenRISC GNU/Linux (sau 1k *-*-linux *), RISC-V GNU/Linux (riscv*-*-linux*) și RISC-V FreeBSD (riscv*-*-freebsd*);
  • Depanarea pe același sistem pe Windows necesită acum Windows XP sau ediții mai noi;
  • Python 2.6 sau o versiune ulterioară este acum necesar pentru a utiliza API-ul Python.

Sursa: opennet.ru

Adauga un comentariu