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

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

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

  • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Solaris 10 ΠΈ Cell Broadband Engine;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ симулятор подсистСмы PRU (Programmable Real-time Unit), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π² процСссорах Texas Instruments (pru-*-elf);
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… символов Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· настройку ‘maint set worker-threads unlimited’);
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ символа ‘.’;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ установки Ρ‚ΠΎΡ‡Π΅ΠΊ останова Π½Π° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Fortran;
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡŽ ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΌΡƒ ΡΡ‚ΠΈΠ»ΡŽ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ читаСмости ΠΊΠΎΠΌΠ°Π½Π΄;
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡˆΡ‚Π°Ρ‚Π½Π°Ρ инфраструктура для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ c ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ символа Ρ‚ΠΈΡ€Π΅ (‘-OPT’), Ρ‡Ρ‚ΠΎ позволяСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ клавишСй табуляции;
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… «printf» ΠΈ «eval» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° строк Π² стилях Π‘ΠΈ ΠΈ Ада Π±Π΅Π· нСпосрСдствСнного Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅;
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «info sources» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° основС рСгулярного выраТСния;
  • Π’ настройкС «set print frame-arguments» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «presence», ΠΏΡ€ΠΈ установкС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ для Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² выводится лишь ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ присутствия «…» вмСсто Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΈ значСния;
  • Π’ интСрфСйсС TUI ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «focus», «winheight», «+», «-«, «>», «<» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ Π² рСгистру символов;
  • Для ΠΊΠΎΠΌΠ°Π½Π΄ «print», «compile print», «backtrace», «frame
    apply», «tfaas» ΠΈ «faas» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ для пСрСопрСдСлСния Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… настроСк (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, выставляСмых Ρ‡Π΅Ρ€Π΅Π· «set print […]»);

  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «info types» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «-q» для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ²;
  • Π’ настройках вмСсто значСния «unlimited» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ «u»;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:
    • «define-prefix» для опрСдСлСния собствСнных прСфиксных ΠΊΠΎΠΌΠ°Π½Π΄;
    • «|» ΠΈΠ»ΠΈ «pipe» для запуска ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ пСрСнаправлСния Π²Ρ‹Π²ΠΎΠ΄Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ (shell);
    • «with» для запуска ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹ΠΌΠΈ настройками;
    • «set may-call-functions» для управлСния Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· GDB;
    • «set print finish [on|off]» для управлСния ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния ΠΏΡ€ΠΈ использовании ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «finish»;
    • «set print max-depth» для ограничСния Π²Ρ‹Π²ΠΎΠ΄Π° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… структур;
    • «set print raw-values [on|off]» для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ форматирования Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… значСния;
    • «set logging debugredirect [on|off]» для управлСния сохранСниСм ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Π² Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»;
    • БСрия Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ «set style»;
    • «set print frame-info […]» для опрСдСлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ слСдуСт Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ состояния ΠΊΠ°Π΄Ρ€Π° стСка;
    • «set tui compact-source» для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° отобраТСния ΠΊΠΎΠ΄Π° Π² интСрфСйсС TUI (Text User Interface);
    • «info modules […]» для запроса свСдСний ΠΎ модулях Fortran;
    • ВмСсто «set/show print raw frame-arguments» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° «set/show print raw-frame-arguments» (Π² качСствС раздСлитСля ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΈΡ€Π΅ вмСсто ΠΏΡ€ΠΎΠ±Π΅Π»Π°);
  • Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс управлСния GDB/MI Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «-complete», «-catch-throw», «-catch-rethrow», «-catch-catch», «-symbol-info-functions», «-symbol-info-types»,
    «-symbol-info-variables», «-symbol-info-modules», «-symbol-info-module-functions» ΠΈ «-symbol-info-module-variables», эквивалСнтныС Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ 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
  • Π’ сборочный скрипт configure Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—with-system-gdbinit-dir» для опрСдСлСния ΠΏΡƒΡ‚ΠΈ ΠΊ систСмным Ρ„Π°ΠΉΠ»Π°ΠΌ gdbinit;
  • ВнСсСна порция ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ Π² Python API. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сборки c Python 3 Π² Windows;
  • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Ρ‹ трСбования ΠΊ сборочному ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΡŽ. Для сборки GDB ΠΈ GDBserver Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ трСбуСтся ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ GNU make 3.82. ΠŸΡ€ΠΈ сборкС с внСшнСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ readline трСбуСтся ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ GNU readline 7.0.

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