Paglabas ng debugger ng GDB 11

Ang release ng GDB 11.1 debugger ay ipinakita (ang unang release ng 11.x series, ang 11.0 branch ay ginamit para sa pag-unlad). 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, Rust, atbp.) sa iba't ibang hardware (i386, amd64, ARM, Power, Sparc, RISC - V, atbp.) at mga software platform (GNU/Linux, *BSD, Unix, Windows, macOS).

Mga pangunahing pagpapabuti:

  • Ang TUI (Text User Interface) ay nagdagdag ng suporta para sa mga pagkilos ng mouse at ang kakayahang mag-scroll ng nilalaman gamit ang mouse wheel. Pinagana ang pagpapasa ng mga kumbinasyon ng key sa GDB na hindi pinoproseso sa TUI.
  • Nagdagdag ng suporta para sa mekanismo ng ARMv8.5 MTE (MemTag, Memory Tagging Extension), na nagbibigay-daan sa iyong i-bind ang mga tag sa bawat operasyon ng paglalaan ng memory at ayusin ang isang pointer check kapag nag-a-access ng memory, na dapat na nauugnay sa tamang tag. Ang Remote Debug Control Protocol ay nagbibigay ng suporta para sa mga package na "qMemTags" at "QMemTags" para sa pag-binding ng mga tag sa memorya.
  • Ang lohika para sa pagbabasa ng mga configuration file ay nabago. Ang .gdbinit file ay nasuri na ngayon sa sumusunod na pagkakasunud-sunod: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit at $HOME/.gdbinit. Yung. una sa config subdirectory, at pagkatapos lamang sa home directory.
  • Sa command na “break […] if CONDITION,” ang output ng error ay ititigil kapag hindi wasto ang isang kundisyon sa ilang partikular na lugar, kung valid ang kundisyon sa kahit isang kaso.
  • Nagdagdag ng suporta para sa pag-debug ng mga core dump na nabuo para sa mga programang Cygwin na pinagsama-sama para sa x86_64 architecture.
  • Nagdagdag ng suporta para sa mga uri ng fixed-point, pati na rin ang DW_AT_GNU_numerator at DW_AT_GNU_denominator constants.
  • Idinagdag ang setting na "startup-quietly on|off"; kapag "on", katulad ng "-silent" na opsyon.
  • Ang command na "ptype" ay nagpapatupad ng mga opsyon na /x" at "/d" upang pumili ng hexadecimal o decimal kapag nagpapakita ng mga laki at offset. Idinagdag ang setting na "type hex on|off" para gumamit ng mga hexadecimal value sa output ng command na 'ptype'.
  • Sa "inferior" command, kapag tinawag na walang argumento, ang output ng kasalukuyang debugging object (inferior) ay ibinibigay.
  • Ang output ng command na "pinagmulan ng impormasyon" ay muling ginawa.
  • Nagdagdag ng command na "style version foreground | background | intensity" upang kontrolin ang istilo ng pagnunumero ng bersyon.
  • Nagdagdag ng mga bagong opsyon sa command line: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—qualified” (para sa '-break-insert commands ) ' at '-dprintf-insert'), "--force-condition" (para sa mga command na '-break-insert' at '-dprintf-insert'), "--force" (para sa '-break-condition ' utos).
  • Ang command na "-file-list-exec-source-files" ay nagbibigay-daan sa iyo na tukuyin ang mga regular na expression upang i-filter ang mga source file na ipoproseso. Ang isang 'debug-fully-read' na field ay idinagdag sa output upang isaad ang lawak kung saan na-load ang impormasyon sa pag-debug.
  • Ang mga pagpapabuti ay ginawa sa Python API. Nagdagdag ng mga bagong pamamaraan gdb.Frame.level() at db.PendingFrame.level() para ibalik ang stack level para sa isang Frame object. Kapag na-trigger ang isang catchpoint, tinitiyak ng Python API na ipinapadala ang gdb.BreakpointEvent sa halip na gdb.StopEvent. Nagdagdag ng mga setting na "python ignore-environment on|off" para balewalain ang environment variable at "python dont-write-bytecode auto|on|off" para i-disable ang bytecode writing.
  • Ang mga pagpapabuti ay ginawa sa Guile API. Ang mga bagong pamamaraan na value-reference-value, value-rvalue-reference-value at value-const-value ay naidagdag na.
  • Kasama sa mga kinakailangang dependency sa pagpupulong ang library ng GMP (GNU Multiple Precision Arithmetic).
  • Ang suporta para sa ARM Symbian platform (arm*-*-symbianelf*) ay hindi na ipinagpatuloy.

Pinagmulan: opennet.ru

Magdagdag ng komento