Выпуск ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° GDB 8.3

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ Ρ€Π΅Π»ΠΈΠ· ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° GDB 8.3, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ исходных тСкстов для ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ спСктра языков программирования (Ada, C, C++, Objective-C, Pascal, Go ΠΈ Ρ‚.Π΄.) Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… (i386, amd64, ARM, Power, Sparc, RISC-V ΠΈ Ρ‚.Π΄.) ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… (GNU/Linux, *BSD, Unix, Windows, macOS).

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ:

  • Π’ интСрфСйсах CLI ΠΈ TUI Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ опрСдСлСния стиля Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° «set style»). ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ GNU Highlight Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° подсвСтка исходных тСкстов;
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° компиляции ΠΈ подстановки исходного ΠΊΠΎΠ΄Π° Π½Π° языкС C++ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ GDB процСсс
    (inferior). Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ трСбуСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ вСрсии GCC 7.1Π±, собранной с libcp1.so;

  • Π’ GDB ΠΈ GDBserver Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° IPv6. Для задания адрСсов IPv6 слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ «[ADDRESS]:PORT»;
  • Для Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… систСм RISC-V Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° описания Ρ†Π΅Π»ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML (Target Description Format);
  • На ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ FreeBSD обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° установки Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π°
    (catchpoint) Π½Π° систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ… псСвдонимы, спСцифичныС для Ρ€Π°Π·Π½Ρ‹Ρ… ABI (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ‘kevent’ доступСн псСвдоним ‘freebsd11_kevent’ для привязки ΠΊ старому ABI);

  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «target remote» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Unix-сокСтов (Unix Domain socket);
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ отобраТСния всСх Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… процСссом (ΠΊΠΎΠΌΠ°Π½Π΄Π° «info proc files»);
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ автоматичСского сохранСния Π½Π° диск индСксов символов DWARF для ускорСния ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ исполняСмого Ρ„Π°ΠΉΠ»Π°;
  • Π’ GDBserver для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ PowerPC GNU/Linux Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° доступа ΠΊ рСгистрам PPR, DSCR, TAR, EBB/PMU ΠΈ HTM;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «set/show debug compile-cplus-types» ΠΈ
    «set/show debug skip» для настройки Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ прСобразованиях Ρ‚ΠΈΠΏΠΎΠ² C++ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ пропускаСмых Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ функциях;

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «frame apply COMMAND», «taas COMMAND», «faas COMMAND», «tfaas COMMAND» для примСнСния ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊ ΠΊΠ°Π΄Ρ€Π°ΠΌ стСка ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌ;
  • ВнСсСны ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «frame», «select-frame», «info frame»,
    — «info functions», «info types», «info variables», «info thread», «info proc»;

  • ΠŸΡ€ΠΈ запускС Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ GDB Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ошибки 1 Π² случаС сбоя выполнСния послСднСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сборки GDB с прСдоставляСмым GCC Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ повСдСния (Undefined Behavior Sanitizer);
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки Π±Π°Π·ΠΎΠ²ΠΎΠΉ систСмы (native configuration, для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ систСмС) для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ RISC-V GNU/Linux (riscv*-*-linux*) ΠΈ RISC-V FreeBSD (riscv*-*-freebsd*);
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… систСм (target configuration): CSKY ELF (csky*-*-elf), CSKY GNU/Linux (csky*-*-linux), NXP S12Z ELF (s12z-*-elf), OpenRISC GNU/Linux (or1k*-*-linux*), RISC-V GNU/Linux (riscv*-*-linux*) ΠΈ RISC-V FreeBSD (riscv*-*-freebsd*);
  • ΠžΡ‚Π»Π°Π΄ΠΊΠ° Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ систСмС Π² Windows Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия Windows XP ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Ρ… выпусков;
  • Для использования Python API Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ трСбуСтся Python 2.6 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ