Version du débogueur GDB 11

La version du débogueur GDB 11.1 a été présentée (la première version de la série 11.x, la branche 11.0 a été utilisée pour le développement). GDB prend en charge le débogage au niveau source pour un large éventail de langages de programmation (Ada, C, C++, Objective-C, Pascal, Go, Rust, etc.) sur divers matériels (i386, amd64, ARM, Power, Sparc, RISC). - V, etc.) et plateformes logicielles (GNU/Linux, *BSD, Unix, Windows, macOS).

Principales améliorations :

  • Le TUI (Text User Interface) a ajouté la prise en charge des actions de la souris et la possibilité de faire défiler le contenu avec la molette de la souris. Activation du transfert des combinaisons de touches vers GDB qui ne sont pas traitées dans TUI.
  • Ajout de la prise en charge du mécanisme ARMv8.5 MTE (MemTag, Memory Tagging Extension), qui permet de lier des balises à chaque opération d'allocation de mémoire et d'organiser une vérification du pointeur lors de l'accès à la mémoire, qui doit être associée à la balise correcte. Le protocole de contrôle de débogage à distance prend en charge les packages « qMemTags » et « QMemTags » pour lier les balises à la mémoire.
  • La logique de lecture des fichiers de configuration a été modifiée. Le fichier .gdbinit est maintenant vérifié dans l'ordre suivant : $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit et $HOME/.gdbinit. Ceux. d'abord dans le sous-répertoire config, puis seulement dans le répertoire personnel.
  • Dans la commande « break […] if CONDITION », la sortie d'erreur est arrêtée lorsqu'une condition est invalide à certains endroits, si la condition est valide dans au moins un cas.
  • Ajout de la prise en charge du débogage des core dumps générés pour les programmes Cygwin compilés pour l'architecture x86_64.
  • Ajout de la prise en charge des types à virgule fixe, ainsi que des constantes DW_AT_GNU_numerator et DW_AT_GNU_denominator.
  • Ajout du paramètre « démarrage silencieux activé | désactivé » ; lorsqu'il est « activé », similaire à l'option « -silent ».
  • La commande "ptype" implémente les options /x" et "/d" pour sélectionner hexadécimal ou décimal lors de l'affichage des tailles et des décalages. Ajout du paramètre « print type hex on|off » pour utiliser des valeurs hexadécimales dans la sortie de la commande « ptype ».
  • Dans la commande "inférieure", lorsqu'elle est appelée sans arguments, la sortie de l'objet de débogage actuel (inférieur) est fournie.
  • La sortie de la commande « info source » a été retravaillée.
  • Ajout de la commande « style version premier plan | contexte | intensité" pour contrôler le style de numérotation des versions.
  • Ajout de nouvelles options de ligne de commande : "—early-init-command" ("-eix"), "—early-init-eval-command" ("-eiex"), "—qualified" (pour les commandes '-break-insert ) ' et '-dprintf-insert'), "--force-condition" (pour les commandes '-break-insert' et '-dprintf-insert'), "--force" (pour la '-break-condition ' commande).
  • La commande '-file-list-exec-source-files' vous permet de spécifier des expressions régulières pour filtrer les fichiers source à traiter. Un champ « debug-fully-read » a été ajouté à la sortie pour indiquer dans quelle mesure les informations de débogage ont été chargées.
  • Des améliorations ont été apportées à l'API Python. Ajout de nouvelles méthodes gdb.Frame.level() et db.PendingFrame.level() pour renvoyer le niveau de pile d'un objet Frame. Lorsqu'un point de capture est déclenché, l'API Python garantit que gdb.BreakpointEvent est envoyé à la place de gdb.StopEvent. Ajout des paramètres "python ignore-environment on|off" pour ignorer les variables d'environnement et "python dont-write-bytecode auto|on|off" pour désactiver l'écriture de bytecode.
  • Des améliorations ont été apportées à l'API Guile. De nouvelles procédures valeur-référence-valeur, valeur-rvaleur-référence-valeur et valeur-const-valeur ont été ajoutées.
  • Les dépendances d'assembly requises incluent la bibliothèque GMP (GNU Multiple Precision Arithmetic).
  • La prise en charge de la plate-forme ARM Symbian (arm*-*-symbianelf*) a été interrompue.

Source: opennet.ru

Ajouter un commentaire