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

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

рдХрд│ рд╕реБрдзрд╛рд░рдгрд╛:

  • рд╕реЛрд▓рд╛рд░рд┐рд╕ 10 рдЖрдгрд┐ рд╕реЗрд▓ рдмреНрд░реЙрдбрдмрдБрдб рдЗрдВрдЬрд┐рди рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рд╕рдорд░реНрдерди рдмрдВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ;
  • рдЯреЗрдХреНрд╕рд╛рд╕ рдЗрдиреНрд╕реНрдЯреНрд░реБрдореЗрдВрдЯреНрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ (pru-*-elf) рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ PRU (рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдмрд▓ рд░рд┐рдЕрд▓-рдЯрд╛рдЗрдо рдпреБрдирд┐рдЯ) рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдЪреЗ рдирд╡реАрди рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдЬреЛрдбрд▓реЗ;
  • рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб рдореЛрдбрдордзреНрдпреЗ рдбреАрдмрдЧрд┐рдВрдЧ рдЪрд┐рдиреНрд╣рд╛рдВрдЪреНрдпрд╛ рдЬрд▓рдж рд▓реЛрдбрд┐рдВрдЧрд╕рд╛рдареА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдореЛрдб рдЬреЛрдбрд▓рд╛ ('рдореБрдЦреНрдп рд╕реЗрдЯ рд╡рд░реНрдХрд░-рдереНрд░реЗрдбреНрд╕ рдЕрдорд░реНрдпрд╛рджрд┐рдд' рд╕реЗрдЯрд┐рдВрдЧрджреНрд╡рд╛рд░реЗ рд╕рдХреНрд╖рдо);
  • рдХрдорд╛рдВрдбрдЪреНрдпрд╛ рдирд╛рд╡рд╛рдВрдордзреНрдпреЗ '.' рдЪрд┐рдиреНрд╣ рд╡рд╛рдкрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ;
  • рдлреЛрд░рдЯреНрд░рд╛рдирдордзреНрдпреЗ рдиреЗрд╕реНрдЯреЗрдб рдлрдВрдХреНрд╢рдиреНрд╕ рдЖрдгрд┐ рд╕рдмрд░реВрдЯреАрдирд╡рд░ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА;
  • рдПрдХрд╕рдВрдз рд╢реИрд▓реА рдЖрдгрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЖрджреЗрд╢рд╛рдВрдЪреА рд╡рд╛рдЪрдиреАрдпрддрд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд░реНрдп рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ;
  • рдбреЕрд╢ рдХреЕрд░реЗрдХреНрдЯрд░ ('-OPT') рд╡рд╛рдкрд░реВрди рдХрдорд╛рдВрдб рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ рдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдорд╛рдирдХ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ рдЯреЕрдм рдХреА рд╡рд╛рдкрд░реВрди рд╕реНрд╡рдпрдВрдкреВрд░реНрдгрддреЗрд▓рд╛ рдЕрдиреБрдорддреА рджреЗрддреЗ;
  • тАЬprintfтАЭ рдЖрдгрд┐ тАЬevalтАЭ рдХрдорд╛рдВрдбреНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдордордзреАрд▓ рдлрдВрдХреНрд╢рдирд▓рд╛ рдереЗрдЯ рдХреЙрд▓ рди рдХрд░рддрд╛ C рдЖрдгрд┐ Ada рд╢реИрд▓реАрдВрдордзреНрдпреЗ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧрд╕рд╛рдареА рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХрд░рддрд╛рдд;
  • "рдорд╛рд╣рд┐рддреА рд╕реНрддреНрд░реЛрдд" рдХрдорд╛рдВрдбрдордзреАрд▓ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдлрд╛рдЗрд▓реНрд╕ рдлрд┐рд▓реНрдЯрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ;
  • "рд╕реЗрдЯ рдкреНрд░рд┐рдВрдЯ рдлреНрд░реЗрдо-рд╡рд┐рддрд░реНрдХ" рд╕реЗрдЯрд┐рдВрдЧрдордзреНрдпреЗ, "рдЙрдкрд╕реНрдерд┐рддреА" рдкреЕрд░рд╛рдореАрдЯрд░ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рд╕реЗрдЯ рдХреЗрд▓реНрдпрд╛рд╡рд░, рдирд╛рд╡ рдЖрдгрд┐ рдореВрд▓реНрдп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА рдХреЗрд╡рд│ рдЙрдкрд╕реНрдерд┐рддреА рдирд┐рд░реНрджреЗрд╢рдХ "..." рд╡рд┐рддрд░реНрдХрд╛рдВрд╕рд╛рдареА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ;
  • рдЗрдВрдЯрд░рдлреЗрд╕ рдордзреНрдпреЗ TUI рдХрдорд╛рдВрдб "рдлреЛрдХрд╕", "рд╡рд┐рдирд╣рд╛рдЗрдЯ", "+", "-", ">", "<" рдЖрддрд╛ рдХреЗрд╕ рд╕реЗрдиреНрд╕рд┐рдЯрд┐рд╡реНрд╣ рдЖрд╣реЗрдд;
  • "рдкреНрд░рд┐рдВрдЯ", "рдХрдВрдкрд╛рдЗрд▓ рдкреНрд░рд┐рдВрдЯ", "рдмреЕрдХрдЯреНрд░реЗрд╕", "рдлреНрд░реЗрдо" рдпрд╛ рдЖрджреЗрд╢рд╛рдВрд╕рд╛рдареА
    рд▓рд╛рдЧреВ рдХрд░рд╛", "tfaas" рдЖрдгрд┐ "faas" рдкрд░реНрдпрд╛рдп рдЬрд╛рдЧрддрд┐рдХ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, "рд╕реЗрдЯ рдкреНрд░рд┐рдВрдЯ [тАж]" рджреНрд╡рд╛рд░реЗ рд╕реЗрдЯ рдХреЗрд▓реЗрд▓реЗ);

  • рдХрд╛рд╣реА рд╢реАрд░реНрд╖рд▓реЗрдЦрд╛рдВрдЪреЗ рдЖрдЙрдЯрдкреБрдЯ рдЕрдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "-q" рдкрд░реНрдпрд╛рдп "info type" рдХрдорд╛рдВрдбрдордзреНрдпреЗ рдЬреЛрдбрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ;
  • рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ, тАЬрдЕрдорд░реНрдпрд╛рджрд┐рддтАЭ рдореВрд▓реНрдпрд╛рдРрд╡рдЬреА, рддреБрдореНрд╣реА рдЖрддрд╛ тАЬuтАЭ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛;
  • рдирд╡реАрди рдЖрджреЗрд╢ рдЬреЛрдбрд▓реЗ:
    • рддреБрдордЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдЙрдкрд╕рд░реНрдЧ рдЖрдЬреНрдЮрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "define-prefix";
    • "|" рдХрд┐рдВрд╡рд╛ рдХрдорд╛рдВрдб рд░рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "рдкрд╛рдЗрдк" рдЖрдгрд┐ рд╢реЗрд▓ рдХрдорд╛рдВрдбрд╡рд░ рдЖрдЙрдЯрдкреБрдЯ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА;
    • рддрд╛рддреНрдкреБрд░рддреНрдпрд╛ рдмрджрд▓рд▓реЗрд▓реНрдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрд╕рд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрджреЗрд╢ рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА тАЬwithтАЭ;
    • GDB рд╡рд░реВрди рд╕рдмрд░реБрдЯрд┐рди рдХреЙрд▓ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдХреА рдирд╛рд╣реА рд╣реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "рдореЗ-рдХреЙрд▓-рдлрдВрдХреНрд╢рди рд╕реЗрдЯ рдХрд░рд╛";
    • "рдлрд┐рдирд┐рд╢" рдХрдорд╛рдВрдб рд╡рд╛рдкрд░рддрд╛рдирд╛ рд░рд┐рдЯрд░реНрди рд╡реНрд╣реЕрд▓реНрдпреВрдЪреЗ рдкреНрд░рджрд░реНрд╢рди рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "рдкреНрд░рд┐рдВрдЯ рдлрд┐рдирд┐рд╢ [рдСрди|рдСрдл] рд╕реЗрдЯ рдХрд░рд╛";
    • рдиреЗрд╕реНрдЯреЗрдб рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕рдЪреЗ рдЖрдЙрдЯрдкреБрдЯ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "рдкреНрд░рд┐рдВрдЯ рдХрдорд╛рд▓-рдЦреЛрд▓реА рд╕реЗрдЯ рдХрд░рд╛";
    • рдЖрдЙрдЯрдкреБрдЯ рдореВрд▓реНрдпрд╛рдВрдЪреЗ рд╕реНрд╡рд░реВрдкрди рд╕рдХреНрд╖рдо/рдЕрдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА тАЬрдкреНрд░рд┐рдВрдЯ рд░реЙ-рд╡реНрд╣реЕрд▓реНрдпреВрдЬ [рдСрди|рдСрдл]тАЭ рд╕реЗрдЯ рдХрд░рд╛;
    • рд▓реЙрдЧ рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдбреАрдмрдЧ рдЖрдЙрдЯрдкреБрдЯ рдЬрддрди рдХрд░рдгреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА тАЬрд▓реЙрдЧрд┐рдВрдЧ рдбреАрдмрдЧрд░реЗрдбрд╛рдпрд░реЗрдХреНрдЯ [рдСрди|рдСрдл]тАЭ рд╕реЗрдЯ рдХрд░рд╛;
    • рдирд╡реАрди "рд╕реЗрдЯ рд╕реНрдЯрд╛рдИрд▓" рдЖрджреЗрд╢рд╛рдВрдЪреА рдорд╛рд▓рд┐рдХрд╛;
    • рд╕реНрдЯреЕрдХ рдлреНрд░реЗрдо рд╕реНрдерд┐рддреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛рдирд╛ рдореБрджреНрд░рд┐рдд рдХреЗрд▓реЗрд▓реА рдорд╛рд╣рд┐рддреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА тАЬрдкреНрд░рд┐рдВрдЯ рдлреНрд░реЗрдо-рдорд╛рд╣рд┐рддреА рд╕реЗрдЯ рдХрд░рд╛ [тАж]тАЭ;
    • TUI (рдЯреЗрдХреНрд╕реНрдЯ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕) рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рдХреЛрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЙрдореНрдкреЕрдХреНрдЯ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА "рддреБрдИ рдХреЙрдореНрдкреЕрдХреНрдЯ-рд╕реНрд░реЛрдд рд╕реЗрдЯ рдХрд░рд╛";
    • рдлреЛрд░рдЯреНрд░рд╛рди рдореЙрдбреНрдпреБрд▓реНрд╕рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреАрдЪреА рд╡рд┐рдирдВрддреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА тАЬрдорд╛рд╣рд┐рддреА рдореЙрдбреНрдпреВрд▓ [тАж]тАЭ;
    • тАЬрд╕реЗрдЯ/рд╢реЛ рдкреНрд░рд┐рдВрдЯ рд░реЙ рдлреНрд░реЗрдо-рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕тАЭ рдРрд╡рдЬреА, тАЬрд╕реЗрдЯ/рд╢реЛ рдкреНрд░рд┐рдВрдЯ рд░реЙ-рдлреНрд░реЗрдо-рд╡рд┐рддрд░реНрдХтАЭ рд╣реА рдХрдорд╛рдВрдб рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЖрд╣реЗ (рд╡рд┐рднрд╛рдЬрдХ рдореНрд╣рдгреВрди рд╕реНрдкреЗрд╕рдРрд╡рдЬреА рдбреЕрд╢ рд╡рд╛рдкрд░рддреЗ);
  • рдирд┐рдпрдВрддреНрд░рдг рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдордзреНрдпреЗ GDB/MI рдирд╡реАрди рдХрдорд╛рдВрдб рдЬреЛрдбрд▓реНрдпрд╛ рдЖрд╣реЗрдд тАЬ-рдкреВрд░реНрдгтАЭ, тАЬ-рдХреЕрдЪ-рдереНрд░реЛтАЭ, тАЬ-рдХреЕрдЪ-рд░реАрдереНрд░реЛтАЭ, тАЬ-рдХреЕрдЪ-рдХреЕрдЪтАЭ, тАЬ-рд╕рд┐рдореНрдмреЙрд▓-рдорд╛рд╣рд┐рддреА-рдлрдВрдХреНрд╢рдиреНрд╕тАЭ, тАЬ-рд╕рд┐рдореНрдмреЙрд▓-рдорд╛рд╣рд┐рддреА-рдкреНрд░рдХрд╛рд░тАЭ,
    "-symbol-info-variables", "-symbol-info-modules", "-symbol-info-module-functions" рдЖрдгрд┐ "-symbol-info-module-variables" рд╕рдорд╛рди GDB рдХрдорд╛рдВрдбреНрд╕рдЪреНрдпрд╛ рд╕рдорддреБрд▓реНрдп рдЖрд╣реЗрдд. рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, MI рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░рдЪреА рддрд┐рд╕рд░реА рдЖрд╡реГрддреНрддреА рд╕рдХреНрд░рд┐рдп рдХреЗрд▓реА рдЬрд╛рддреЗ (-i=mi3);

  • рдирд╡реАрди рдмрд┐рд▓реНрдЯ-рдЗрди рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдЬреЛрдбрд▓реЗ:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • gdbinit рд╕рд┐рд╕реНрдЯрдо рдлрд╛рдЗрд▓реНрд╕рдЪрд╛ рдорд╛рд░реНрдЧ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЙрдиреНрдлрд┐рдЧрд░ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ тАЬ-with-system-gdbinit-dirтАЭ рдкрд░реНрдпрд╛рдп рдЬреЛрдбрд▓рд╛;
  • Python API рдордзреНрдпреЗ рдЕрдиреЗрдХ рд╕реБрдзрд╛рд░рдгрд╛ рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд. рд╡рд┐рдВрдбреЛрдЬрд╡рд░ рдкрд╛рдпрдерди 3 рд╕рд╣ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА;
  • рдЕрд╕реЗрдВрдмреНрд▓реАрдЪреНрдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рдврд╡рд▓реА рдЖрд╣реЗ. GDB рдЖрдгрд┐ GDBserver рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрддрд╛ рдХрд┐рдорд╛рди GNU рдореЗрдХ 3.82 рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдмрд╛рд╣реНрдп рд░реАрдбрд▓рд╛рдЗрди рд▓рд╛рдпрдмреНрд░рд░реАрд╕рд╣ рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛, рдХрд┐рдорд╛рди GNU рд░реАрдбрд▓рд╛рдЗрди 7.0 рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

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

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