Versió del depurador GDB 11

S'ha presentat el llançament del depurador GDB 11.1 (la primera versió de la sèrie 11.x, la branca 11.0 es va utilitzar per al desenvolupament). GDB admet la depuració a nivell d'origen per a una àmplia gamma de llenguatges de programació (Ada, C, C++, Objective-C, Pascal, Go, Rust, etc.) en diversos maquinari (i386, amd64, ARM, Power, Sparc, RISC). - V, etc.) i plataformes de programari (GNU/Linux, *BSD, Unix, Windows, macOS).

Millores clau:

  • La TUI (Text User Interface) ha afegit suport per a les accions del ratolí i la possibilitat de desplaçar-se per contingut amb la roda del ratolí. S'ha habilitat el reenviament de combinacions de tecles a GDB que no es processen a TUI.
  • S'ha afegit suport per al mecanisme ARMv8.5 MTE (MemTag, Memory Tagging Extension), que permet vincular etiquetes a cada operació d'assignació de memòria i organitzar una comprovació del punter en accedir a la memòria, que ha d'estar associada a l'etiqueta correcta. El protocol de control de depuració remota proporciona suport per als paquets "qMemTags" i "QMemTags" per vincular etiquetes a la memòria.
  • S'ha canviat la lògica per llegir els fitxers de configuració. El fitxer .gdbinit ara es comprova en l'ordre següent: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit i $HOME/.gdbinit. Aquells. primer al subdirectori config, i només després al directori d'inici.
  • A l'ordre “break […] if CONDITION”, la sortida d'error s'atura quan una condició no és vàlida en determinats llocs, si la condició és vàlida en almenys un cas.
  • S'ha afegit suport per a la depuració dels abocaments de nucli generats per als programes Cygwin compilats per a l'arquitectura x86_64.
  • S'ha afegit suport per a tipus de punt fix, així com les constants DW_AT_GNU_numerator i DW_AT_GNU_denominator.
  • S'ha afegit l'opció de configuració "engegada silenciosament encès | apagat"; quan està "activat", semblant a l'opció "-silent".
  • L'ordre "ptype" implementa les opcions /x" i "/d" per seleccionar hexadecimal o decimal quan es mostren mides i desplaçaments. S'ha afegit la configuració "tipus d'impressió hex on|off" per utilitzar valors hexadecimals a la sortida de l'ordre "ptype".
  • A l'ordre "inferior", quan es crida sense arguments, es proporciona la sortida de l'objecte de depuració actual (inferior).
  • S'ha reelaborat la sortida de l'ordre "font d'informació".
  • S'ha afegit l'ordre "style version foreground | fons | intensitat" per controlar l'estil de numeració de versions.
  • S'han afegit noves opcions de línia d'ordres: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—qualified” (per a les ordres '-break-insert ) ' i '-dprintf-insert'), "--force-condition" (per a les ordres '-break-insert' i '-dprintf-insert'), "--force" (per a la '-break-condition' ' comandament).
  • L'ordre "-file-list-exec-source-files" us permet especificar expressions regulars per filtrar els fitxers font que s'han de processar. S'ha afegit un camp "debug-fully-read" a la sortida per indicar fins a quin punt s'ha carregat la informació de depuració.
  • S'han fet millores a l'API de Python. S'han afegit nous mètodes gdb.Frame.level() i db.PendingFrame.level() per tornar el nivell de pila d'un objecte Frame. Quan s'activa un punt de captura, l'API de Python garanteix que s'enviï gdb.BreakpointEvent en lloc de gdb.StopEvent. S'ha afegit la configuració "python ignore-environment on|off" per ignorar les variables d'entorn i "python dont-write-bytecode auto|on|off" per desactivar l'escriptura de bytecode.
  • S'han fet millores a l'API Guile. S'han afegit nous procediments valor-referència-valor, valor-rvalue-referència-valor i valor-const-valor.
  • Les dependències de muntatge necessàries inclouen la biblioteca GMP (GNU Multiple Precision Arithmetic).
  • El suport per a la plataforma ARM Symbian (arm*-*-symbianelf*) s'ha interromput.

Font: opennet.ru

Afegeix comentari