Version du débogueur GDB 13

La version du débogueur GDB 13.1 a été présentée (la première version de la série 13.x, la branche 13.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++, D, Fortran, Go, Objective-C, Modula-2, Pascal, 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 :

  • Ajout de la prise en charge de l'exécution du débogueur et du serveur GDB sur les architectures GNU/Linux/LoongArch et GNU/Linux/CSKY.
  • La prise en charge du travail sur la plateforme Windows en mode asynchrone (async) a été implémentée.
  • Sur la plateforme FreeBSD, la prise en charge des variables TLS (Thread Local Storage) a été ajoutée pour les architectures ARM et AArch64, et la possibilité d'utiliser des points d'arrêt matériels (watchpoint) a été fournie pour l'architecture AArch64.
  • Dans l'environnement GNU/Linux sur les systèmes LoongArch, la prise en charge des calculs en virgule flottante a été ajoutée.
  • Implémentation de nouvelles commandes "maintenance set ignore-prologue-end-flag|libopcodes-styling" et "maintenance print frame-id", ainsi que des commandes pour contrôler le style de sortie démontée (set style disassembler *).
  • Ajout des commandes « set print nibbles [on|off] » et « show print nibbles » pour contrôler l'affichage des valeurs binaires dans des groupes de quatre octets.
  • Des améliorations ont été apportées à l'API Python. Une API pour désassembler les instructions a été ajoutée, le type gdb.BreakpointLocation a été implémenté et les fonctions gdb.format_address, gdb.current_langue et gdb.print_options ont été ajoutées.
  • La première version de l'interface de gestion GDB/MI est obsolète et sera supprimée dans GDB 14.
  • Ajout de la prise en charge des sections de débogage compressées à l'aide de l'algorithme zstd dans les fichiers ELF.
  • Ajout de nouvelles variables intégrées : $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • Le format de sortie des commandes « disassemble /r » et « record instruction-history /r » a été ajusté pour correspondre à la sortie d'objdump. Pour revenir à l'ancien format, le mode « /b » a été ajouté.
  • Dans la TUI (Text User Interface), le style du code source et assembleur mis en évidence par l'indicateur de position actuelle est désactivé.
  • Il est possible d'utiliser la commande « document » pour documenter les commandes utilisateur.
  • Ajout de la possibilité de créer des dumps avec les données des balises mémoire utilisées lors de l'utilisation du mécanisme ARMv8.5 MTE (MemTag, Memory Tagging Extension), qui vous 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é à la bonne balise.
  • Le mode de compatibilité DBX a été abandonné.
  • La prise en charge de la construction à l'aide de Python 2 a été interrompue.
  • Les commandes « set debug aix-solib on|off », « show debug aix-solib », « set debug solib-frv on|off » et « show debug solib-frv » ont été supprimées, et les commandes « set/show debug" devrait être utilisé à la place de solib."

Source: opennet.ru

Ajouter un commentaire