Paglabas ng debugger ng GDB 9

Ipinasa ni paglabas ng debugger GDB 9.1 (unang release ng 9.x series, branch 9.0 ang ginamit para sa development). Sinusuportahan ng GDB ang source-level na pag-debug para sa malawak na hanay ng mga programming language (Ada, C, C++, Objective-C, Pascal, Go, atbp.) sa iba't ibang hardware (i386, amd64, ARM, Power, Sparc, RISC-V at iba pa) at mga software platform (GNU/Linux, *BSD, Unix, Windows, macOS).

Susi mga pagpapabuti:

  • Ang suporta para sa Solaris 10 at mga platform ng Cell Broadband Engine ay hindi na ipinagpatuloy;
  • Nagdagdag ng bagong simulator ng subsystem ng PRU (Programmable Real-time Unit) na ginagamit sa mga processor ng Texas Instruments (pru-*-elf);
  • Nagdagdag ng pang-eksperimentong mode para sa mabilis na pag-load ng mga simbolo ng pag-debug sa multithreaded mode (pinagana sa pamamagitan ng setting na 'maint set worker-threads unlimited');
  • Posibleng gamitin ang simbolo na '.' sa mga pangalan ng command;
  • Nagdagdag ng kakayahang magtakda ng mga breakpoint sa mga nested function at subroutine sa Fortran;
  • Ang trabaho ay isinagawa upang dalhin sa isang pinag-isang istilo at pagbutihin ang pagiging madaling mabasa ng mga utos;
  • Ang isang karaniwang imprastraktura ay ipinatupad para sa pagpasa ng mga argumento ng command gamit ang dash character ('-OPT'), na nagpapahintulot sa autocompletion gamit ang tab key;
  • Ang "printf" at "eval" na mga utos ay nagpapatupad ng suporta para sa pag-output ng mga string sa mga istilong C at Ada nang hindi direktang tumatawag sa isang function sa programa;
  • Nagdagdag ng suporta para sa pag-filter ng mga output file batay sa isang regular na expression sa command na "mga mapagkukunan ng impormasyon";
  • Sa setting na "set print frame-arguments", ang parameter na "presence" ay ipinatupad, kapag nakatakda, tanging ang indicator ng presensya na "..." ang ipinapakita para sa mga argumento sa halip na ipakita ang pangalan at halaga;
  • Sa interface TUI ang mga command na "focus", "winheight", "+", "-", ">", "<" ay case sensitive na ngayon;
  • Para sa mga command na "print", "compile print", "backtrace", "frame"
    ilapat", "tfaas" at "faas" na mga opsyon ay ipinatupad upang i-override ang mga pandaigdigang setting (halimbawa, ang mga itinakda sa pamamagitan ng "set print [...]");

  • Ang opsyong "-q" ay idinagdag sa command na "mga uri ng impormasyon" upang hindi paganahin ang output ng ilang mga header;
  • Sa mga setting, sa halip na ang "walang limitasyong" halaga, maaari mo na ngayong tukuyin ang "u";
  • Idinagdag ang mga bagong utos:
    • "define-prefix" para tukuyin ang sarili mong mga prefix command;
    • "|" o "pipe" upang magpatakbo ng isang command at i-redirect ang output sa isang shell command;
    • "kasama" upang patakbuhin ang tinukoy na utos na may pansamantalang binagong mga setting;
    • "itakda ang mga may-call-function" upang makontrol kung ang isang subroutine ay maaaring tawagan mula sa GDB;
    • "set print finish [on|off]" para kontrolin ang pagpapakita ng return value kapag ginagamit ang "finish" command;
    • "set print max-depth" upang limitahan ang output ng mga nested na istruktura;
    • β€œset print raw-values ​​​​[on|off]” para paganahin/i-disable ang pag-format ng mga output value;
    • "itakda ang logging debugredirect [on|off]" upang kontrolin ang pag-save ng debug output sa isang log file;
    • Isang serye ng mga bagong "set style" na utos;
    • β€œset print frame-info […]” para tukuyin ang impormasyong dapat i-print kapag ipinapakita ang stack frame state;
    • "itakda ang tui compact-source" upang paganahin ang compact mode para sa pagpapakita ng code sa interface ng TUI (Text User Interface);
    • "mga module ng impormasyon [...]" upang humiling ng impormasyon tungkol sa mga module ng Fortran;
    • Sa halip na "itakda/ipakita ang mga raw na frame-argument ng print", ang command na "set/show print raw-frame-arguments" ay iminungkahi (gumagamit ng gitling sa halip na isang puwang bilang isang separator);
  • Sa interface ng kontrol ng software GDB/MI nagdagdag ng mga bagong command na "-complete", "-catch-throw", "-catch-rethrow", "-catch-catch", "-symbol-info-functions", "-symbol-info-types",
    Ang "-symbol-info-variables", "-symbol-info-modules", "-symbol-info-module-functions" at "-symbol-info-module-variables" ay katumbas ng parehong GDB command. Bilang default, ang ikatlong bersyon ng MI interpreter ay isinaaktibo (-i=mi3);

  • Nagdagdag ng mga bagong built-in na variable:
    • $_gdb_major, $_gdb_minor;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Idinagdag ang opsyong "--with-system-gdbinit-dir" sa script ng pag-configure ng build upang matukoy ang landas patungo sa mga file ng system ng gdbinit;
  • Ang ilang mga pagpapabuti ay ginawa sa Python API. Nagdagdag ng kakayahang bumuo gamit ang Python 3 sa Windows;
  • Ang mga kinakailangan para sa kapaligiran ng pagpupulong ay nadagdagan. Ang pagbuo ng GDB at GDBserver ngayon ay nangangailangan ng hindi bababa sa GNU na gumawa ng 3.82. Kapag nagtatayo gamit ang isang panlabas na readline library, hindi bababa sa GNU readline 7.0 ang kinakailangan.

Pinagmulan: opennet.ru

Magdagdag ng komento