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

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

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

  • По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… символов, ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΠΉ запуск.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° шаблонов C++.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ FreeBSD Π² асинхронном Ρ€Π΅ΠΆΠΈΠΌΠ΅ (async).
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ использования GNU Source Highlight ΠΈ задСйствованиС для подсвСтки синтаксиса Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Pygments.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «clone-inferior» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° копирования настроСк TTY, CMD ΠΈ ARGS ΠΈΠ· ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (inferior) Π² Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ обСспСчСно ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ‘set environment’ ΠΈΠ»ΠΈ ‘unset environment’.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «print» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ значСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ («/x»).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° запуска ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΈ GDBserver Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ GNU/Linux/OpenRISC (or1k*-*-linux*). Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ GNU/Linux/LoongArch (loongarch*-*-linux*). ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ S+core (score-*-*).
  • GDB 12 объявлСн послСдним выпуском для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ поддСрТиваСтся сборка с использованиСм Python 2.
  • ОбъявлСн ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Ρ‘Π½ Π² Π²Π΅Ρ‚ΠΊΠ΅ GDB 13 Ρ€Π΅ΠΆΠΈΠΌ совмСстимости с DBX.
  • Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ интСрфСйсС управлСния GDB/MI Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ‘-add-inferior’ Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΠ»ΠΈ вмСстС с Ρ„Π»Π°Π³ΠΎΠΌ ‘—no-connection’ для наслСдования соСдинСния ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΠ»ΠΈ запуска Π±Π΅Π· соСдинСния.
  • ВнСсСны ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² Python API. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ GDB/MI Π½Π° языкС Python. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ события gdb.events.gdb_exiting ΠΈ gdb.events.connection_removed, функция gdb.Architecture.integer_type(), ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ gdb.TargetConnection, свойство gdb.Inferior.connection, ΠΌΠ΅Ρ‚ΠΎΠ΄ gdb.RemoteTargetConnection.send_packet ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ gdb.InferiorThread.details, gdb.Type.is_scalar ΠΈ gdb.Type.is_signed.

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