GDB 11 рдбреАрдмрдЧрд░ рд░рд┐рд▓реАрдЭ

GDB 11.1 рдбреАрдмрдЧрд░рдЪреЗ рдкреНрд░рдХрд╛рд╢рди рд╕рд╛рджрд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ (11.x рдорд╛рд▓рд┐рдХреЗрдЪреЗ рдкрд╣рд┐рд▓реЗ рдкреНрд░рдХрд╛рд╢рди, 11.0 рд╢рд╛рдЦрд╛ рд╡рд┐рдХрд╛рд╕рд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реА рдЧреЗрд▓реА). GDB рд╡рд┐рд╡рд┐рдз рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ (i386, amd64, ARM, Power, Sparc, RISC) рд╡рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдЪреНрдпрд╛ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реЗрдгреАрд╕рд╛рдареА (Ada, C, C++, Objective-C, Pascal, Go, Rust, рдЗ.) рд╕реНрддреНрд░реЛрдд-рд╕реНрддрд░реАрдп рдбреАрдмрдЧрд┐рдВрдЧрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ. - V, рдЗ.) рдЖрдгрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо (GNU/Linux, *BSD, Unix, Windows, macOS).

рдореБрдЦреНрдп рд╕реБрдзрд╛рд░рдгрд╛:

  • TUI (рдЯреЗрдХреНрд╕реНрдЯ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕) рдиреЗ рдорд╛рдКрд╕ рдХреНрд░рд┐рдпрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЖрдгрд┐ рдорд╛рдЙрд╕ рд╡реНрд╣реАрд▓рд╕рд╣ рд╕рд╛рдордЧреНрд░реА рд╕реНрдХреНрд░реЛрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА рдЖрд╣реЗ. TUI рдордзреНрдпреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рди рдХреЗрд▓реЗрд▓реНрдпрд╛ GDB рд╡рд░ рдХреА рдХреЙрдореНрдмрд┐рдиреЗрд╢рдиреНрд╕ рдлреЙрд░рд╡рд░реНрдб рдХрд░рдгреЗ рд╕рдХреНрд╖рдо рдХреЗрд▓реЗ рдЖрд╣реЗ.
  • ARMv8.5 MTE (MemTag, рдореЗрдорд░реА рдЯреЕрдЧрд┐рдВрдЧ рдПрдХреНрд╕реНрдЯреЗрдВрд╢рди) рдпрдВрддреНрд░рдгреЗрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдЖрд╣реЗ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдорд░реА рд╡рд╛рдЯрдк рдСрдкрд░реЗрд╢рдирдордзреНрдпреЗ рдЯреЕрдЧ рдмрд╛рдВрдзрдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рдореЗрдорд░реАрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛рдирд╛ рдкреЙрдЗрдВрдЯрд░ рдЪреЗрдХ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ, рдЬреЗ рдпреЛрдЧреНрдп рдЯреЕрдЧрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд░рд┐рдореЛрдЯ рдбреАрдмрдЧ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ "qMemTags" рдЖрдгрд┐ "QMemTags" рдкреЕрдХреЗрдЬреЗрд╕рдирд╛ рдореЗрдорд░реАрдордзреНрдпреЗ рдЯреЕрдЧ рдмрд╛рдВрдзрдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдкреБрд░рд╡рддреЛ.
  • рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реНрд╕ рд╡рд╛рдЪрдгреНрдпрд╛рдЪреЗ рддрд░реНрдХ рдмрджрд▓рд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд. .gdbinit рдлрд╛рдЗрд▓ рдЖрддрд╛ рдЦрд╛рд▓реАрд▓ рдХреНрд░рдорд╛рдиреЗ рддрдкрд╛рд╕рд▓реА рдЖрд╣реЗ: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit рдЖрдгрд┐ $HOME/.gdbinit. рддреНрдпрд╛. рдкреНрд░рдердо рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕рдмрдбрд┐рд░реЗрдХреНрдЯрд░реАрдордзреНрдпреЗ рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░рдЪ рд╣реЛрдо рдбрд┐рд░реЗрдХреНрдЯрд░реАрдордзреНрдпреЗ.
  • тАЬрдмреНрд░реЗрдХ [тАж] if CONDITIONтАЭ рдХрдорд╛рдВрдбрдордзреНрдпреЗ, рдПрд░рд░ рдЖрдЙрдЯрдкреБрдЯ рдерд╛рдВрдмрд╡рд▓реЗ рдЬрд╛рддреЗ рдЬреЗрд╡реНрд╣рд╛ рдПрдЦрд╛рджреА рдЕрдЯ рдард░рд╛рд╡рд┐рдХ рдард┐рдХрд╛рдгреА рдЕрд╡реИрдз рдЕрд╕рддреЗ, рдЬрд░ рдЕрдЯ рдХрд┐рдорд╛рди рдПрдХрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рд╡реИрдз рдЕрд╕реЗрд▓.
  • x86_64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╕рд╛рдареА рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ Cygwin рдкреНрд░реЛрдЧреНрд░рд╛рдорд╕рд╛рдареА рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЛрд░ рдбрдВрдкрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • рдирд┐рд╢реНрдЪрд┐рдд-рдмрд┐рдВрджреВ рдкреНрд░рдХрд╛рд░рд╛рдВрд╕рд╛рдареА, рддрд╕реЗрдЪ DW_AT_GNU_numerator рдЖрдгрд┐ DW_AT_GNU_denominator рд╕реНрдерд┐рд░рд╛рдВрдХрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • "рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк-рд╢рд╛рдВрддрдкрдгреЗ рдЪрд╛рд▓реВ|рдмрдВрдж" рд╕реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд▓реЗ; рдЬреЗрд╡реНрд╣рд╛ тАЬрдЪрд╛рд▓реВтАЭ, тАЬ-silentтАЭ рдкрд░реНрдпрд╛рдпрд╛рдкреНрд░рдорд╛рдгреЗ.
  • рдЖрдХрд╛рд░ рдЖрдгрд┐ рдСрдлрд╕реЗрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛рдирд╛ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдХрд┐рдВрд╡рд╛ рджрд╢рд╛рдВрд╢ рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА "ptype" рдХрдорд╛рдВрдб /x" рдЖрдгрд┐ "/d" рдкрд░реНрдпрд╛рдп рд▓рд╛рдЧреВ рдХрд░рддреЗ. 'ptype' рдХрдорд╛рдВрдбрдЪреНрдпрд╛ рдЖрдЙрдЯрдкреБрдЯрдордзреНрдпреЗ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдореВрд▓реНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА "рдкреНрд░рд┐рдВрдЯ рдЯрд╛рдЗрдк рд╣реЗрдХреНрд╕ рдЪрд╛рд▓реВ|рдСрдл" рд╕реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд▓реЗ.
  • "рдХрдирд┐рд╖реНрда" рдХрдорд╛рдВрдбрдордзреНрдпреЗ, рдЬреЗрд╡реНрд╣рд╛ рд╡рд┐рддрд░реНрдХрд╛рдВрд╢рд┐рд╡рд╛рдп рдХреЙрд▓ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рддреЗрд╡реНрд╣рд╛ рд╡рд░реНрддрдорд╛рди рдбреАрдмрдЧрд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯрдЪреЗ рдЖрдЙрдЯрдкреБрдЯ (рдХрдирд┐рд╖реНрда) рдкреНрд░рджрд╛рди рдХреЗрд▓реЗ рдЬрд╛рддреЗ.
  • "рдорд╛рд╣рд┐рддреА рд╕реНрддреНрд░реЛрдд" рдХрдорд╛рдВрдбрдЪреЗ рдЖрдЙрдЯрдкреБрдЯ рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.
  • "рд╢реИрд▓реА рдЖрд╡реГрддреНрддреА рдлреЛрд░рдЧреНрд░рд╛рдЙрдВрдб |" рдЖрджреЗрд╢ рдЬреЛрдбрд▓рд╛ рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА | рддреАрд╡реНрд░рддрд╛" рдЖрд╡реГрддреНрддреА рдХреНрд░рдорд╛рдВрдХрди рд╢реИрд▓реА рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА.
  • рдирд╡реАрди рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓реЗ: тАЬтАФ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' рдХрдорд╛рдВрдб рддреБрдореНрд╣рд╛рд▓рд╛ рд░реЗрдЧреНрдпреБрд▓рд░ рдПрдХреНрд╕реНрдкреНрд░реЗрд╢рдиреНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрддреНрд░реЛрдд рдлрд╛рдЗрд▓ рдлрд┐рд▓реНрдЯрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рдбреАрдмрдЧрд┐рдВрдЧ рдорд╛рд╣рд┐рддреА рдХрд┐рддреА рдкреНрд░рдорд╛рдгрд╛рдд рд▓реЛрдб рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ рд╣реЗ рджрд░реНрд╢рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдЙрдЯрдкреБрдЯрдордзреНрдпреЗ 'рдбреАрдмрдЧ-рдлреБрд▓реА-рд░реАрдб' рдлреАрд▓реНрдб рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.
  • Python API рдордзреНрдпреЗ рд╕реБрдзрд╛рд░рдгрд╛ рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд. рдлреНрд░реЗрдо рдСрдмреНрдЬреЗрдХреНрдЯрд╕рд╛рдареА рд╕реНрдЯреЕрдХ рд╕реНрддрд░ рдкрд░рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА gdb.Frame.level() рдЖрдгрд┐ db.PendingFrame.level() рдирд╡реАрди рдкрджреНрдзрддреА рдЬреЛрдбрд▓реНрдпрд╛. рдЬреЗрд╡реНрд╣рд╛ рдХреЕрдЪрдкреЙрдЗрдВрдЯ рдЯреНрд░рд┐рдЧрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рддреЗрд╡реНрд╣рд╛ Python API рдЦрд╛рддреНрд░реА рдХрд░рддреЗ рдХреА gdb.StopEvent рдРрд╡рдЬреА gdb.BreakpointEvent рдкрд╛рдард╡рд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ. рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "python ignore-environment on|off" рдЖрдгрд┐ bytecode рд▓реЗрдЦрди рдЕрдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "python dont-write-bytecode auto|on|off" рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЬреЛрдбрд▓реНрдпрд╛.
  • Guile API рдордзреНрдпреЗ рд╕реБрдзрд╛рд░рдгрд╛ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реНрдпрд╛ рдЖрд╣реЗрдд. рдирд╡реАрди рдХрд╛рд░реНрдпрдкрджреНрдзрддреА рдореВрд▓реНрдп-рд╕рдВрджрд░реНрдн-рдореВрд▓реНрдп, рдореВрд▓реНрдп-rvalue-рд╕рдВрджрд░реНрдн-рдореВрд▓реНрдп рдЖрдгрд┐ рдореВрд▓реНрдп-рдХреЙрдиреНрд╕реНрдЯ-рдореВрд▓реНрдп рдЬреЛрдбрд▓реЗ.
  • рдЖрд╡рд╢реНрдпрдХ рдЕрд╕реЗрдВрдмреНрд▓реА рдЕрд╡рд▓рдВрдмрдирд╛рдВрдордзреНрдпреЗ GMP (GNU рдорд▓реНрдЯрд┐рдкрд▓ рдкреНрд░реЗрд╕рд┐рдЬрди рдЕрдВрдХрдЧрдгрд┐рдд) рд▓рд╛рдпрдмреНрд░рд░реА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.
  • рдПрдЖрд░рдПрдо рд╕рд┐рдореНрдмрд┐рдпрди рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо (рдЖрд░реНрдо*-*-рд╕рд┐рдореНрдмрд┐рдпрд╛рдиреЗрд▓реНрдл*) рд╕рд╛рдареА рд╕рдорд░реНрдерди рдмрдВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛