ืฉื—ืจื•ืจ ื‘ืื’ื™ื ืฉืœ GDB 11

ื”ื•ืฆื’ื” ื”ืžื”ื“ื•ืจื” ืฉืœ ื ื™ืคื•ื™ ื”ื‘ืื’ื™ื ืฉืœ GDB 11.1 (ื”ื’ืจืกื” ื”ืจืืฉื•ื ื” ืฉืœ ืกื“ืจืช 11.x, ืขื ืฃ 11.0 ืฉื™ืžืฉ ืœืคื™ืชื•ื—). GDB ืชื•ืžืš ื‘ืื’ื™ื ื‘ืจืžืช ื”ืžืงื•ืจ ืขื‘ื•ืจ ืžื’ื•ื•ืŸ ืจื—ื‘ ืฉืœ ืฉืคื•ืช ืชื›ื ื•ืช (Ada, C, C++, Objective-C, Pascal, Go, Rust ื•ื›ื•') ื‘ื—ื•ืžืจื•ืช ืฉื•ื ื•ืช (i386, amd64, ARM, Power, Sparc, RISC - V ื•ื›ื•') ื•ืคืœื˜ืคื•ืจืžื•ืช ืชื•ื›ื ื” (GNU/Linux, *BSD, Unix, Windows, macOS).

ืฉื™ืคื•ืจื™ื ืขื™ืงืจื™ื™ื:

  • ื”-TUI (ืžืžืฉืง ืžืฉืชืžืฉ ื˜ืงืกื˜) ื”ื•ืกื™ืฃ ืชืžื™ื›ื” ื‘ืคืขื•ืœื•ืช ืขื›ื‘ืจ ื•ื™ื›ื•ืœืช ืœื’ืœื•ืœ ืชื•ื›ืŸ ืขื ื’ืœื’ืœ ื”ืขื›ื‘ืจ. ื”ืคืขืœืช ื”ืขื‘ืจื” ืฉืœ ืฆื™ืจื•ืคื™ ืžืงืฉื™ื ืœ-GDB ืฉืื™ื ื ืžืขื•ื‘ื“ื™ื ื‘-TUI.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืžื ื’ื ื•ืŸ ARMv8.5 MTE (MemTag, Memory Tagging Extension), ื”ืžืืคืฉืจ ืœืื’ื“ ืชื’ื™ื ืœื›ืœ ืคืขื•ืœืช ื”ืงืฆืืช ื–ื™ื›ืจื•ืŸ ื•ืœืืจื’ืŸ ื‘ื“ื™ืงืช ืžืฆื‘ื™ืข ื‘ืขืช ื’ื™ืฉื” ืœื–ื™ื›ืจื•ืŸ, ืืฉืจ ื—ื™ื™ื‘ ืœื”ื™ื•ืช ืžืฉื•ื™ืš ืœืชื’ ื”ื ื›ื•ืŸ. ืคืจื•ื˜ื•ืงื•ืœ ื‘ืงืจืช ื‘ืื’ื™ื ืžืจื—ื•ืง ืžืกืคืง ืชืžื™ื›ื” ื‘ื—ื‘ื™ืœื•ืช "qMemTags" ื•-"QMemTags" ืœืงืฉื™ืจืช ืชื’ื™ื ืœื–ื™ื›ืจื•ืŸ.
  • ื”ื”ื™ื’ื™ื•ืŸ ืœืงืจื™ืืช ืงื•ื‘ืฆื™ ืชืฆื•ืจื” ื”ืฉืชื ื”. ืงื•ื‘ืฅ ื”-.gdbinit ื ื‘ื“ืง ื›ืขืช ื‘ืกื“ืจ ื”ื‘ื: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit ื•-$HOME/.gdbinit. ื”ึธื”ึตืŸ. ืชื—ื™ืœื” ื‘ืกืคืจื™ื™ืช ื”ืžืฉื ื” ืฉืœ config, ื•ืจืง ืื—ืจ ื›ืš ื‘ืกืคืจื™ื™ืช ื”ื‘ื™ืช.
  • ื‘ืคืงื•ื“ื” "break [โ€ฆ] if CONDITION", ืคืœื˜ ื”ืฉื’ื™ืื” ื ืขืฆืจ ื›ืืฉืจ ืชื ืื™ ืื™ื ื• ื—ื•ืงื™ ื‘ืžืงื•ืžื•ืช ืžืกื•ื™ืžื™ื, ืื ื”ืชื ืื™ ืชืงืฃ ืœืคื—ื•ืช ื‘ืžืงืจื” ืื—ื“.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ืœืื™ืชื•ืจ ื‘ืื’ื™ื ืฉืœ dumps ืฉืœ ืœื™ื‘ื•ืช ืฉื ื•ืฆืจื• ืขื‘ื•ืจ ืชื•ื›ื ื™ื•ืช Cygwin ืฉื”ื•ืจื›ื‘ื• ืขื‘ื•ืจ ืืจื›ื™ื˜ืงื˜ื•ืจืช x86_64.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ ืกื•ื’ื™ ื ืงื•ื“ื•ืช ืงื‘ื•ืขื•ืช, ื›ืžื• ื’ื ื”ืงื‘ื•ืขื™ื DW_AT_GNU_ืžื•ื ื” ื•-DW_AT_GNU_nominator.
  • ื ื•ืกืคื” ื”ื’ื“ืจืช "ื”ืคืขืœื”-ืฉืงื˜ ืžื•ืคืขืœ|ื›ื‘ื•ื™"; ื›ืืฉืจ "ืคื•ืขืœ", ื‘ื“ื•ืžื” ืœืืคืฉืจื•ืช "-ืฉืงื˜".
  • ื”ืคืงื•ื“ื” "ptype" ืžื™ื™ืฉืžืช ืืช ื”ืืคืฉืจื•ื™ื•ืช /x" ื•-"/d" ืœื‘ื—ื™ืจื” ื”ืงืกื“ืฆื™ืžืœื™ืช ืื• ืขืฉืจื•ื ื™ืช ื‘ืขืช ื”ืฆื’ืช ื’ื“ืœื™ื ื•ื”ื™ืกื˜ื™ื. ื ื•ืกืคื” ื”ื’ื“ืจื” ืฉืœ "ืกื•ื’ ื”ื“ืคืกื” hex on|off" ื›ื“ื™ ืœื”ืฉืชืžืฉ ื‘ืขืจื›ื™ื ื”ืงืกื“ืฆื™ืžืœื™ื™ื ื‘ืคืœื˜ ืฉืœ ื”ืคืงื•ื“ื” 'ptype'.
  • ื‘ืคืงื•ื“ื” "inferior", ื›ืืฉืจ ืงื•ืจืื™ื ืœืœื ืืจื’ื•ืžื ื˜ื™ื, ืžืกื•ืคืง ื”ืคืœื˜ ืฉืœ ืื•ื‘ื™ื™ืงื˜ ื ื™ืคื•ื™ ื”ื‘ืื’ื™ื ื”ื ื•ื›ื—ื™ (ื ื—ื•ืช).
  • ื”ืคืœื˜ ืฉืœ ื”ืคืงื•ื“ื” "ืžืงื•ืจ ืžื™ื“ืข" ืขื•ื‘ื“ ืžื—ื“ืฉ.
  • ื ื•ืกืคื” ื”ืคืงื•ื“ื” "ื—ื–ื™ืช ื’ืจืกื” ื‘ืกื’ื ื•ืŸ | ืจืงืข | ืขื•ืฆืžื”" ื›ื“ื™ ืœืฉืœื•ื˜ ื‘ืกื’ื ื•ืŸ ืžืกืคื•ืจ ื”ื’ืจืกื”.
  • ื ื•ืกืคื• ืืคืฉืจื•ื™ื•ืช ื—ื“ืฉื•ืช ืฉืœ ืฉื•ืจืช ื”ืคืงื•ื“ื”: "-early-init-command" ("-eix"), "-early-init-eval-command" ("-eiex"), "-qualified" (ืขื‘ื•ืจ ืคืงื•ื“ื•ืช '-break-insert ) ' ื•-'-dprintf-insert'), "--force-condition" (ืขื‘ื•ืจ ื”ืคืงื•ื“ื•ืช '-break-insert' ื•-'-dprintf-insert'), "--force" (ืขื‘ื•ืจ ื”-'-break-condition ' ืคืงื•ื“ื”).
  • ื”ืคืงื•ื“ื” "-file-list-exec-source-files" ืžืืคืฉืจืช ืœืš ืœืฆื™ื™ืŸ ื‘ื™ื˜ื•ื™ื™ื ืจื’ื•ืœืจื™ื™ื ื›ื“ื™ ืœืกื ืŸ ืงื‘ืฆื™ ืžืงื•ืจ ืœืขื™ื‘ื•ื“. ืฉื“ื” 'ื‘ืื’ื™ื-ืงืจื™ืื” ืžืœืื”' ื ื•ืกืฃ ืœืคืœื˜ ื›ื“ื™ ืœืฆื™ื™ืŸ ืืช ื”ืžื™ื“ื” ืฉื‘ื” ื ื˜ืขืŸ ืžื™ื“ืข ืื™ืชื•ืจ ื‘ืื’ื™ื.
  • ื ืขืฉื• ืฉื™ืคื•ืจื™ื ื‘-API ืฉืœ Python. ื ื•ืกืคื• ืฉื™ื˜ื•ืช ื—ื“ืฉื•ืช gdb.Frame.level() ื•-db.PendingFrame.level() ื›ื“ื™ ืœื”ื—ื–ื™ืจ ืืช ืจืžืช ื”ืžื—ืกื ื™ืช ืขื‘ื•ืจ ืื•ื‘ื™ื™ืงื˜ Frame. ื›ืืฉืจ ื ืงื•ื“ืช catchpoint ืžื•ืคืขืœืช, ื”-API ืฉืœ Python ืžื‘ื˜ื™ื— ืฉ-gdb.BreakpointEvent ื ืฉืœื— ื‘ืžืงื•ื gdb.StopEvent. ื ื•ืกืคื• ื”ื’ื“ืจื•ืช "python ignore-environment on|off" ื›ื“ื™ ืœื”ืชืขืœื ืžืžืฉืชื ื™ ืกื‘ื™ื‘ื” ื•-"python dont-write-bytecode auto|on|off" ื›ื“ื™ ืœื”ืฉื‘ื™ืช ื›ืชื™ื‘ืช bytecode.
  • ื ืขืฉื• ืฉื™ืคื•ืจื™ื ื‘ืžืžืฉืง ื”-API ืฉืœ Guile. ื ื•ืกืคื• ื ื”ืœื™ื ื—ื“ืฉื™ื ืขืจืš-reference-value, value-rvalue-reference-value ื•-value-const-value ื ื•ืกืคื•.
  • ื”ืชืœื•ืช ื”ื ื“ืจืฉืช ืœื”ืจื›ื‘ื” ื›ื•ืœืœืช ืืช ืกืคืจื™ื™ืช GMP (GNU Multiple Precision Arithmetic).
  • ื”ืชืžื™ื›ื” ื‘ืคืœื˜ืคื•ืจืžืช ARM Symbian (arm*-*-symbianelf*) ื”ื•ืคืกืงื”.

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

ื”ื•ืกืคืช ืชื’ื•ื‘ื”