Version du débogueur GDB 9

Introduit version du débogueur GDB 9.1 (première version de la série 9.x, la branche 9.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, etc.) sur divers matériels (i386, amd64, ARM, Power, Sparc, RISC-V et etc.) et plateformes logicielles (GNU/Linux, *BSD, Unix, Windows, macOS).

Clé améliorations:

  • La prise en charge des plates-formes Solaris 10 et Cell Broadband Engine a été interrompue ;
  • Ajout d'un nouveau simulateur du sous-système PRU (Programmable Real-time Unit) utilisé dans les processeurs Texas Instruments (pru-*-elf) ;
  • Ajout d'un mode expérimental pour le chargement rapide des symboles de débogage en mode multi-thread (activé via le paramètre « maint set worker-threads unlimited ») ;
  • Il est possible d'utiliser le symbole '.' dans les noms de commandes ;
  • Ajout de la possibilité de définir des points d'arrêt sur les fonctions et sous-programmes imbriqués dans Fortran ;
  • Des travaux ont été menés pour uniformiser le style et améliorer la lisibilité des commandes ;
  • Une infrastructure standard a été implémentée pour transmettre les arguments de commande à l'aide du caractère tiret (« -OPT »), ce qui permet l'auto-complétion à l'aide de la touche de tabulation ;
  • Les commandes « printf » et « eval » implémentent la prise en charge de la sortie de chaînes dans les styles C et Ada sans appeler directement une fonction dans le programme ;
  • Ajout de la prise en charge du filtrage des fichiers de sortie basé sur une expression régulière dans la commande « info sources » ;
  • Dans le paramètre « set print frame-arguments », le paramètre « présence » est implémenté, lorsqu'il est défini, seul l'indicateur de présence « … » est affiché pour les arguments au lieu d'afficher le nom et la valeur ;
  • Dans l'interface TUI les commandes "focus", "winheight", "+", "-", ">", "<" sont désormais sensibles à la casse ;
  • Pour les commandes "print", "compile print", "backtrace", "frame"
    Les options apply", "tfaas" et "faas" ont été implémentées pour remplacer les paramètres globaux (par exemple, ceux définis via "set print […]");

  • L'option "-q" a été ajoutée à la commande "info types" pour désactiver la sortie de certains en-têtes ;
  • Dans les paramètres, au lieu de la valeur « illimité », vous pouvez désormais spécifier « u » ;
  • Nouvelles commandes ajoutées :
    • "define-prefix" pour définir vos propres commandes de préfixe ;
    • "|" ou "pipe" pour exécuter une commande et rediriger la sortie vers une commande shell ;
    • « avec » pour exécuter la commande spécifiée avec les paramètres temporairement modifiés ;
    • « set may-call-functions » pour contrôler si un sous-programme peut être appelé depuis GDB ;
    • "set print finish [on|off]" pour contrôler l'affichage de la valeur de retour lors de l'utilisation de la commande "finish" ;
    • « définir la profondeur maximale d'impression » pour limiter la sortie des structures imbriquées ;
    • « set print raw-values [on|off] » pour activer/désactiver le formatage des valeurs de sortie ;
    • « set logging debugredirect [on|off] » pour contrôler l'enregistrement de la sortie de débogage dans un fichier journal ;
    • Une série de nouvelles commandes « définir le style » ;
    • « set print frame-info […] » pour définir les informations qui doivent être imprimées lors de l'affichage de l'état du cadre de pile ;
    • « set tui compact-source » pour activer le mode compact pour afficher le code dans l'interface TUI (Text User Interface) ;
    • « modules d'information […] » pour demander des informations sur les modules Fortran ;
    • Au lieu de « set/show print raw frame-arguments », la commande « set/show print raw-frame-arguments » est proposée (utilise un tiret au lieu d'un espace comme séparateur) ;
  • Dans l'interface du logiciel de contrôle GDB/IM ajout de nouvelles commandes "-complete", "-catch-throw", "-catch-rethrow", "-catch-catch", "-symbol-info-functions", "-symbol-info-types",
    "-symbol-info-variables", "-symbol-info-modules", "-symbol-info-module-functions" et "-symbol-info-module-variables" sont équivalents aux mêmes commandes GDB. Par défaut, la troisième version de l'interpréteur MI est activée (-i=mi3) ;

  • Ajout de nouvelles variables intégrées :
    • $_gdb_major, $_gdb_minor ;
    • $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
    • $_gdb_maint_setting_str
    • $_cimag, $_creal
    • $_shell_exitcode, $_shell_exitsignal
  • Ajout de l'option « --with-system-gdbinit-dir » au script de build de configuration pour déterminer le chemin d'accès aux fichiers système gdbinit ;
  • Un certain nombre d'améliorations ont été apportées à l'API Python. Ajout de la possibilité de construire avec Python 3 sous Windows ;
  • Les exigences en matière d'environnement d'assemblage ont été augmentées. Construire GDB et GDBserver nécessite désormais au moins GNU make 3.82. Lors de la construction avec une bibliothèque readline externe, au moins GNU readline 7.0 est requis.

Source: opennet.ru

Ajouter un commentaire