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 ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืคึฟืึทืจ ืกื™ื ื˜ืึทืงืก ื›ื™ื™ืœื™ื™ื˜ื™ื ื’.
  • ื“ื™ "ืงืœืึธื ืข-ืขืจื’ืขืจ" ื‘ืึทืคึฟืขืœ ื˜ืฉืขืง ืึทื– ื“ื™ TTY, CMD ืื•ืŸ ARGS ืกืขื˜ื˜ื™ื ื’ืก ื–ืขื ืขืŸ ืงืึทืคึผื™ื“ ืคื•ืŸ ื“ืขืจ ืึธืจื™ื’ื™ื ืขืœ ื“ื™ื‘ืึทื’ ื›ื™ื™ืคืขืฅ (ืขืจื’ืขืจ) ืฆื• ื“ื™ ื ื™ื™ึทืข ื“ื™ื‘ืึทื’ ื›ื™ื™ืคืขืฅ. ืขืก ืื•ื™ืš ื™ื ืฉื•ืจื– ืึทื– ืึทืœืข ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ื™ ื™ื ื•ื•ื™ื™ืจืึทื ืžืขื ืึทืœ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ื’ืขืžืื›ื˜ ืžื™ื˜ ื“ื™ 'ืฉื˜ืขืœืŸ ืกื•ื•ื™ื•ื•ืข' ืึธื“ืขืจ 'ืึทื ืกืขื˜ ืกื•ื•ื™ื•ื•ืข' ืงืึทืžืึทื ื“ื– ื–ืขื ืขืŸ ืงืึทืคึผื™ื“ ืฆื• ื“ื™ ื ื™ื™ึท ื“ื™ื‘ืึทื’ ื›ื™ื™ืคืขืฅ.
  • ื“ื™ "ืคึผืจื™ื ื˜" ื‘ืึทืคึฟืขืœ ื’ื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ืจื•ืงืŸ ืคืœืึธื•ื˜ื™ื ื’ ืคื•ื ื˜ ื ื•ืžืขืจืŸ, ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ืคึฟืึธืจืžืึทื˜ ืคื•ืŸ ื“ื™ ืึทื ื“ืขืจืœื™ื™ื™ื ื’ ื•ื•ืขืจื˜, ืึทื–ืึท ื•ื•ื™ ื”ืขืงืกืึทื“ืขืกื™ืžืึทืœ ("/ ืจืขื ื˜ื’ืขื ").
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืคืœื™ืกื ื“ื™ืง ื“ื™ ื“ื™ื‘ื•ื’ื’ืขืจ ืื•ืŸ ื’ื“ื‘ืกืขืจื•ื•ืขืจ ืื•ื™ืฃ ื“ื™ GNU/Linux/OpenRISC ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ (ืึธื“ืขืจ 1ืง*-*-ืœื™ื ื•ืงืก*). ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ื‘ืึทื’ื™ื ื’ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืคึฟืึทืจ ื“ื™ GNU/Linux/LoongArch ืฆื™ืœ ืคึผืœืึทื˜ืคืึธืจืžืข (loongarch*-*-linux*). ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ S + ื”ืึทืจืฅ ืฆื™ืœ ืคึผืœืึทื˜ืคืึธืจืžืข (ืกืงื•ืจ-*-*) ืื™ื– ื“ื™ืกืงืึทื ื˜ื™ื ื™ื•ื“.
  • GDB 12 ืื™ื– ืึทื ืึทื•ื ืกื˜ ื•ื•ื™ ื“ื™ ืœืขืฆื˜ืข ืžืขืœื“ื•ื ื’ ืฆื• ืฉื˜ื™ืฆืŸ ื‘ื ื™ืŸ ืžื™ื˜ Python 2.
  • ื“ื™ืคึผืจื™ืฉื™ื™ื™ื˜ื™ื“ ืื•ืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ืื™ืŸ GDB 13 DBX ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืžืึธื“ืข.
  • ื“ื™ GDB / MI ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ API ืึทืœืึทื•ื– ื“ื™ '-add-inferior' ื‘ืึทืคึฟืขืœ ืฆื• ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืึธืŸ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืึธื“ืขืจ ืžื™ื˜ ื“ื™ '--no-connection' ืคืึธืŸ ืฆื• ื™ืจืฉืขื ืขืŸ ืึท ืงืฉืจ ืคื•ืŸ ื“ืขื ืงืจืึทื ื˜ ื“ื™ื‘ืึทื’ ื›ื™ื™ืคืขืฅ ืึธื“ืขืจ ืœื•ื™ืคืŸ ืึธืŸ ืึท ืงืฉืจ.
  • ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ื–ืขื ืขืŸ ื’ืขืžืื›ื˜ ืฆื• ื“ื™ Python API. ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื™ื ืกื˜ืจื•ืžืขื ื˜ GDB / MI ืงืึทืžืึทื ื“ื– ืื™ืŸ Python ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜. ืฆื•ื’ืขืœื™ื™ื’ื˜ ื ื™ื™ึทืข events gdb.events.gdb_exiting ืื•ืŸ gdb.events.connection_removed, gdb.architecture.integer_type() ืคึฟื•ื ืงืฆื™ืข, gdb.TargetConnection ื›ื™ื™ืคืขืฅ, gdb.Inferior.connection ืคืึทืจืžืึธื’, gdb.remoteTargetConnection.send_readd.details,gdb. gdb.Type.is_scalar ืื•ืŸ gdb.Type.is_signed.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’