เบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเบ”เบตเบšเบฑเบ GDB 9

เปเบ™เบฐเบ™เบณ เบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเบ”เบตเบšเบฑเบ GDB 9.1 (เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบŠเบธเบ” 9.x, เบชเบฒเบ‚เบฒ 9.0 เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ). GDB เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เบ”เบตเบšเบฑเปŠเบเบฅเบฐเบ”เบฑเบšเปเบซเบผเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบซเบผเบฒเบเบซเบผเบฒเบเบŠเบฐเบ™เบดเบ” (Ada, C, C++, Objective-C, Pascal, Go, เปเบฅเบฐเบญเบทเปˆเบ™เป†) เปƒเบ™เบฎเบฒเบ”เปเบงเบ•เปˆเบฒเบ‡เป† (i386, amd64, ARM, Power, Sparc, RISC-V. เปเบฅเบฐโ€‹เบญเบทเปˆเบ™เป†) เปเบฅเบฐโ€‹เป€เบงโ€‹เบ—เบตโ€‹เบŠเบญเบšโ€‹เปเบง (GNU/Linux, *BSD, Unix, Windows, macOS).

เบเบฐเปเบˆ เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡:

  • เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเปเบžเบฅเบฐเบ•เบฐเบŸเบญเบก Solaris 10 เปเบฅเบฐ Cell Broadband Engine เป„เบ”เป‰เบ–เบทเบเบขเบธเบ”เป€เบŠเบปเบฒ;
  • เป€เบžเบตเปˆเบกเป€เบ„เบทเปˆเบญเบ‡เบˆเบณเบฅเบญเบ‡เปƒเปเปˆเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเปˆเบญเบ PRU (Programmable Real-time Unit) เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เป€เบ—เบฑเบเบŠเบฑเบ” Instruments processors (pru-*-elf);
  • เป€เบžเบตเปˆเบกเป‚เบซเบกเบ”เบ—เบปเบ”เบฅเบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบซเบผเบ”เป„เบงเบ‚เบญเบ‡เบชเบฑเบ™เบเบฒเบฅเบฑเบเบ”เบตเบšเบฑเบเปƒเบ™เบฎเบนเบšเปเบšเบšเบซเบผเบฒเบเบเบฐเบ—เบนเป‰ (เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ 'maint set worker-threads unlimited');
  • เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบชเบฑเบ™เบเบฒเบฅเบฑเบ '.' เปƒเบ™เบŠเบทเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡;
  • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบˆเบธเบ”เบขเบธเบ”เบเปˆเบฝเบงเบเบฑเบšเบซเบ™เป‰เบฒเบ—เบตเปˆ nested เปเบฅเบฐ subroutines เปƒเบ™ Fortran;
  • เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบžเบฒเบšเปเบฅเบฐเบ›เบฑเบšเบ›เบธเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบญเปˆเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡;
  • เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ dash ('-OPT'), เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบเบฒเบ™เบ•เบทเปˆเบกเบ‚เปเป‰เบกเบนเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰เบ›เบธเปˆเบกเปเบ–เบš;
  • เบ„เปเบฒเบชเบฑเปˆเบ‡ "printf" เปเบฅเบฐ "eval" เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบญเบญเบเบชเบฒเบเปƒเบ™เบฎเบนเบšเปเบšเบš C เปเบฅเบฐ Ada เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป‚เบ—เบซเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆเป‚เบ”เบเบเบปเบ‡เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™;
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ›เบปเบเบเบฐเบ•เบดเปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ "เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™";
  • เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ "เบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบžเบดเบกเบเบญเบšเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡", เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต "เบกเบต" เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบกเบทเปˆเบญเบ•เบฑเป‰เบ‡, เบžเบฝเบ‡เปเบ•เปˆเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบง "โ€ฆ" เบˆเบฐเบ–เบทเบเบชเบฐเปเบ”เบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบชเบฐเปเบ”เบ‡เบŠเบทเปˆเปเบฅเบฐเบกเบนเบ™เบ„เปˆเบฒ;
  • เปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš TUI เบ„เปเบฒเบชเบฑเปˆเบ‡ "focus", "winheight", "+", "-", ">", "<" เบ›เบฐเบˆเบธเบšเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบญเปˆเบญเบ™เป„เบซเบง;
  • เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡ "เบžเบดเบก", "เบฅเบงเบšเบฅเบงเบกเบเบฒเบ™เบžเบดเบก", "backtrace", "เบเบญเบš"
    เบ™เบณเปƒเบŠเป‰", "tfaas" เปเบฅเบฐ "faas" เบ—เบฒเบ‡เป€เบฅเบทเบญเบเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบžเบทเปˆเบญ override เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบปเปˆเบงเป‚เบฅเบ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบœเปˆเบฒเบ™ "set print [โ€ฆ]");

  • เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "-q" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡ "เบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™" เป€เบžเบทเปˆเบญเบ›เบดเบ”เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡เบšเบฒเบ‡เบชเปˆเบงเบ™เบซเบปเบง;
  • เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบ„เปˆเบฒ "เบšเปเปˆเบˆเปเบฒเบเบฑเบ”", เบ•เบญเบ™เบ™เบตเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธ "u" เป„เบ”เป‰;
  • เป€เบžเบตเปˆเบกเบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบซเบกเปˆ:
    • "define-prefix" เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เปเบฒเบซเบ™เป‰เบฒเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡;
    • "|" เบซเบผเบท "เบ—เปเปˆ" เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ”เป„เบ›เบซเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡ shell;
    • "เบเบฑเบš" เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบŠเบปเปˆเบงเบ„เบฒเบง;
    • "เบ•เบฑเป‰เบ‡เบญเบฒเบ”เบˆเบฐเป‚เบ—เบซเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆ" เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบงเปˆเบฒ subroutine เบชเบฒเบกเบฒเบ”เบ–เบทเบเป€เบญเบตเป‰เบ™เบˆเบฒเบ GDB;
    • "เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบžเบดเบกเบชเปเบฒเป€เบฅเบฑเบ”เบฎเบนเบš [on|off]" เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™เบ‚เบญเบ‡เบ„เปˆเบฒเบเบฑเบšเบ„เบทเบ™เป€เบกเบทเปˆเบญเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ "finish";
    • "เบ•เบฑเป‰เบ‡เบ„เบงเบฒเบกเป€เบฅเบดเบเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เบžเบดเบก" เป€เบžเบทเปˆเบญเบˆเปเบฒเบเบฑเบ”เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบฎเบฑเบ‡;
    • โ€œเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบงเบฑเบ”เบ–เบธเบ”เบดเบšเบžเบดเบก [เป€เบ›เบตเบ”|เบ›เบดเบ”]โ€ เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”/เบ›เบดเบ”เบเบฒเบ™เบˆเบฑเบ”เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบ„เปˆเบฒเบœเบปเบ™เบœเบฐเบฅเบดเบ”;
    • โ€œเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบš debugredirect [on|off]โ€ เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบœเบปเบ™เบญเบญเบเบ‚เบญเบ‡ debug เบเบฑเบšเป„เบŸเบฅเปŒเบšเบฑเบ™เบ—เบถเบ;
    • เบŠเบธเบ”เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡ "เบฎเบนเบšเปเบšเบšเบŠเบธเบ”" เปƒเบซเบกเปˆ;
    • โ€œเบ•เบฑเป‰เบ‡เบ„เปˆเบฒ print frame-info [โ€ฆ]โ€ เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ„เบงเบ™เบˆเบฐเบ–เบทเบเบžเบดเบกเบญเบญเบเป€เบกเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบชเบฐเบ–เบฒเบ™เบฐเป€เบŸเบฃเบก stack;
    • "เบ•เบฑเป‰เบ‡ tui compact-source" เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰เบฎเบนเบšเปเบšเบšเบซเบ™เบฒเปเบซเบ™เป‰เบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบฅเบฐเบซเบฑเบ”เปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš TUI (Text User Interface);
    • โ€œเป‚เบกเบ”เบนเบ™เบ‚เปเป‰เบกเบนเบ™ [โ€ฆ]โ€ เป€เบžเบทเปˆเบญเบฎเป‰เบญเบ‡เบ‚เปเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเป‚เบกเบ”เบนเบ™ Fortran;
    • เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™ "เบŠเบธเบ” / เบชเบฐเปเบ”เบ‡เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบเบญเบšเป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเบ”เบดเบš", เบ„เปเบฒเบชเบฑเปˆเบ‡ "เบ•เบฑเป‰เบ‡ / เบชเบฐเปเบ”เบ‡เบเบฒเบ™เบžเบดเบกเบ”เบดเบšเบเบญเบš - arguments" เปเบกเปˆเบ™เบชเบฐเป€เบซเบ™เบต (เปƒเบŠเป‰ dash เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบŠเปˆเบญเบ‡เป€เบ›เบฑเบ™เบ•เบปเบงเปเบเบ);
  • เปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบŠเบญเบšเปเบงเบเบฒเบ™เบ„เบงเบšเบ„เบธเบก GDB/MI เป€เบžเบตเปˆเบกเบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบซเบกเปˆ "-complete", "-catch-throw", "-catch-rethrow", "-catch-catch", "-symbol-info-functions", "-symbol-info-types",
    "-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
  • เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ•เบปเบงเป€เบฅเบทเบญเบ โ€œ--with-system-gdbinit-dirโ€ เป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเบฐเบ„เบฃเบดเบšเบชเป‰เบฒเบ‡เป€เบžเบทเปˆเบญเบเบณเบ™เบปเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒเป„เบŸเบฅเปŒเบฅเบฐเบšเบปเบš gdbinit;
  • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเป€เบฎเบฑเบ”เปƒเบซเป‰ Python API. เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบ”เป‰เบงเบ Python 3 เปƒเบ™ Windows;
  • เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบ›เบฐเบเบญเบšเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™. เบเบฒเบ™เบชเป‰เบฒเบ‡ GDB เปเบฅเบฐ GDBserver เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบ GNU เป€เบฎเบฑเบ”เปƒเบซเป‰ 3.82. เป€เบกเบทเปˆเบญเบชเป‰เบฒเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” readline เบžเบฒเบเบ™เบญเบ, เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบ GNU readline 7.0 เปเบกเปˆเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™