Utoaji wa debugger wa GDB 11

Utoaji wa kitatuzi cha GDB 11.1 umewasilishwa (toleo la kwanza la mfululizo wa 11.x, tawi la 11.0 lilitumika kwa maendeleo). GDB inasaidia utatuzi wa kiwango cha chanzo kwa anuwai ya lugha za programu (Ada, C, C++, Objective-C, Pascal, Go, Rust, n.k.) kwenye maunzi anuwai (i386, amd64, ARM, Power, Sparc, RISC - V, nk) na majukwaa ya programu (GNU/Linux, *BSD, Unix, Windows, macOS).

Maboresho muhimu:

  • TUI (Kiolesura cha Mtumiaji wa Maandishi) kimeongeza usaidizi kwa vitendo vya kipanya na uwezo wa kusogeza maudhui na gurudumu la kipanya. Utumaji usambazaji wa michanganyiko muhimu kwa GDB ambayo haijachakatwa katika TUI.
  • Usaidizi ulioongezwa kwa utaratibu wa ARMv8.5 MTE (MemTag, Memory Tagging Extension), ambayo inakuwezesha kuunganisha vitambulisho kwa kila operesheni ya ugawaji wa kumbukumbu na kuandaa ukaguzi wa pointer wakati wa kufikia kumbukumbu, ambayo lazima ihusishwe na lebo sahihi. Itifaki ya Udhibiti wa Utatuzi wa Mbali hutoa usaidizi kwa vifurushi vya "qMemTags" na "QMemTags" kwa kuunganisha lebo kwenye kumbukumbu.
  • Mantiki ya kusoma faili za usanidi imebadilishwa. Faili ya .gdbinit sasa imeteuliwa kwa mpangilio ufuatao: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit na $HOME/.gdbinit. Wale. kwanza kwenye saraka ndogo ya usanidi, na kisha tu kwenye saraka ya nyumbani.
  • Katika amri ya “break […] if CONDITION”, matokeo ya hitilafu yanasimamishwa wakati hali ni batili katika maeneo fulani, ikiwa hali ni halali katika angalau hali moja.
  • Usaidizi ulioongezwa wa utatuzi wa utupaji wa msingi unaozalishwa kwa programu za Cygwin zilizokusanywa kwa usanifu wa x86_64.
  • Usaidizi ulioongezwa kwa aina za alama-dhabiti, pamoja na nambari za nambari za DW_AT_GNU_na viunganishi vya DW_AT_GNU_denominator.
  • Imeongeza mpangilio wa "startup-kimya on|off"; wakati "imewashwa", sawa na chaguo la "-silent".
  • Amri ya "ptype" hutekeleza chaguo /x" na "/d" ili kuchagua heksadesimali au desimali wakati wa kuonyesha ukubwa na mikondo. Imeongeza mpangilio wa "aina ya kuchapisha hex on|off" ili kutumia maadili ya hexadecimal katika matokeo ya amri ya 'ptype'.
  • Katika amri "chini", inapoitwa bila hoja, pato la kitu cha sasa cha kufuta (chini) hutolewa.
  • Matokeo ya amri ya "chanzo cha habari" yamefanywa upya.
  • Amri iliyoongezwa "toleo la mtindo wa mbele | usuli | intensity" ili kudhibiti mtindo wa kuhesabu toleo.
  • Imeongeza chaguzi mpya za mstari wa amri: “—early-init-command” (“-eix”), “-early-init-eval-command” (“-eiex”), “—iliyohitimu” (kwa amri za '-break-insert ) ' na '-dprintf-insert'), "--force-condition" (kwa amri za '-break-insert' na '-dprintf-insert'), "--force" (kwa '-break-condition'). 'amri).
  • Amri ya '-file-list-exec-source-files' hukuruhusu kubainisha misemo ya kawaida ili kuchuja faili chanzo ili kuchakatwa. Sehemu ya 'Debug-fully-some' imeongezwa kwenye matokeo ili kuonyesha ni kwa kiasi gani maelezo ya utatuzi yamepakiwa.
  • Maboresho yamefanywa kwa API ya Python. Umeongeza mbinu mpya gdb.Frame.level() na db.PendingFrame.level() ili kurejesha kiwango cha rafu kwa kitu cha Fremu. Wakati sehemu ya kukamata inapoanzishwa, API ya Python inahakikisha kuwa gdb.BreakpointEvent inatumwa badala ya gdb.StopEvent. Mipangilio iliyoongezwa "python ignore-environment on|off" ili kupuuza anuwai za mazingira na "python dont-write-bytecode auto|on|off" ili kuzima uandishi wa bytecode.
  • Maboresho yamefanywa kwa API ya Uongo. Taratibu mpya thamani-marejeleo-thamani, thamani-rvalue-rejeleo-thamani na thamani-const-thamani zimeongezwa.
  • Vitegemezi vya mkusanyiko vinavyohitajika ni pamoja na maktaba ya GMP (GNU Multiple Precision Arithmetic).
  • Usaidizi wa jukwaa la ARM Symbian (mkono*-*-symbianelf*) umekatishwa.

Chanzo: opennet.ru

Kuongeza maoni