ВСрсия Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π½Π° 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 Π² асинхронСн Ρ€Π΅ΠΆΠΈΠΌ (асинхронСн).
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° GNU Source Highlight ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° Pygments Π·Π° ΠΏΠΎΠ΄Ρ‡Π΅Ρ€Ρ‚Π°Π²Π°Π½Π΅ Π½Π° синтаксиса.
  • ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° "clone-inferior" изпълнява ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° настройкитС Π½Π° TTY, CMD ΠΈ ARGS ΠΎΡ‚ оригиналния ΠΎΠ±Π΅ΠΊΡ‚ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ (Π΄ΠΎΠ»Π΅Π½) към новия ΠΎΠ±Π΅ΠΊΡ‚ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½ΠΎ, Ρ‡Π΅ всички ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π° срСдата, Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ 'set environment' ΠΈΠ»ΠΈ 'unset environment', сС ΠΊΠΎΠΏΠΈΡ€Π°Ρ‚ Π² новия ΠΎΠ±Π΅ΠΊΡ‚ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ.
  • ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° "print" Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° числа с ΠΏΠ»Π°Π²Π°Ρ‰Π° запСтая, ΡƒΠΊΠ°Π·Π²Π°ΠΉΠΊΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Π±Π°Π·ΠΎΠ²Π°Ρ‚Π° стойност, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Π΅ΡΠ΅Ρ‚ΠΈΡ‡Π½Π° Ρ„ΠΎΡ€ΠΌΠ° ("/x").
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° стартиранС Π½Π° Π΄Π΅Π±ΡŠΠ³Π΅Ρ€Π° ΠΈ GDBserver Π½Π° GNU/Linux/OpenRISC Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° (ΠΈΠ»ΠΈ 1k*-*-linux*). Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² прилоТСния Π·Π° Ρ†Π΅Π»Π΅Π²Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° GNU/Linux/LoongArch (loongarch*-*-linux*). ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° Ρ†Π΅Π»Π΅Π²Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° S+core (score-*-*) Π΅ ΠΎΡ‚ΠΏΠ°Π΄Π½Π°Π»Π°.
  • GDB 12 Π΅ обявСн ΠΊΠ°Ρ‚ΠΎ послСдната вСрсия, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π° Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ с Python 2.
  • ΠžΡ‚Ρ…Π²ΡŠΡ€Π»Π΅Π½ΠΎ ΠΈ Ρ‰Π΅ бъдС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с DBX ΠΊΠ»ΠΎΠ½ Π½Π° GDB 13.
  • API Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° GDB/MI позволява ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° '-add-inferior' Π±Π΅Π· ΠΎΠΏΡ†ΠΈΠΈ ΠΈΠ»ΠΈ с Ρ„Π»Π°Π³Π° '--no-connection' Π·Π° наслСдяванС Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΎΡ‚ тСкущия ΠΎΠ±Π΅ΠΊΡ‚ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈΠ»ΠΈ изпълнСниС Π±Π΅Π· Π²Ρ€ΡŠΠ·ΠΊΠ°.
  • НаправСни са подобрСния Π² API Π½Π° Python. ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° внСдряванС Π½Π° 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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€