3.5. Changements de compatibilité dans GDB
La version de GDB fournie dans Red Hat Enterprise Linux 9 contient un certain nombre de changements qui rompent la compatibilité. Les sections suivantes fournissent plus de détails sur ces changements.
Commandes
La commande
gdb -P python-script.py
n'est plus prise en charge.Utilisez plutôt la commande
gdb -ex 'source python-script.py'
.La commande
gdb COREFILE
n'est plus prise en charge.Utilisez plutôt la commande
gdb EXECUTABLE --core COREFILE
pour charger l'exécutable spécifié dans le fichier core.GDB stylise désormais la sortie par défaut.
Cette nouvelle modification peut perturber les scripts qui essaient d'analyser la sortie de GDB. Utilisez la commande
gdb -ex 'set style enabled off'
pour désactiver le style dans les scripts.Les commandes définissent désormais la syntaxe des symboles en fonction de la langue.
Les commandes
info functions
,info types
,info variables
etrbreak
définissent désormais la syntaxe des entités en fonction de la langue choisie par la commandeset language
. En choisissantset language auto
, GDB choisira automatiquement la langue des entités affichées.Les commandes
set print raw frame-arguments
etshow print raw frame-arguments
sont obsolètes.Ces commandes sont remplacées par les commandes
set print raw-frame-arguments
etshow print raw-frame-arguments
. Les anciennes commandes pourront être supprimées dans les versions futures.Les commandes suivantes de l'interface utilisateur sont désormais sensibles à la casse :
-
focus
-
winheight
-
-
-
-
>
-
<
-
Les commandes
help
etapropos
n'affichent plus qu'une seule fois les informations relatives à la commande.Ces commandes n'affichent plus qu'une seule fois la documentation d'une commande, même si cette commande a un ou plusieurs alias. Ces commandes affichent désormais le nom de la commande, puis tous ses alias, et enfin la description de la commande.
L'interprète MI
La version par défaut de l'interpréteur MI est désormais la version 3.
L'édition d'informations sur les points d'arrêt multi-locaux (syntaxiquement incorrecte dans MI 2) a été modifiée dans MI 3, ce qui affecte les commandes et événements suivants :
-
-break-insert
-
-break-info
-
=breakpoint-created
-
=breakpoint-modified
Utilisez la commande
-fix-multi-location-breakpoint-output
pour activer ce comportement avec les versions précédentes de MI.-
API Python
Les symboles suivants sont désormais obsolètes :
-
gdb.SYMBOL_VARIABLES_DOMAIN
-
gdb.SYMBOL_FUNCTIONS_DOMAIN
-
gdb.SYMBOL_TYPES_DOMAIN
-
-
Le type
gdb.Value
dispose d'un nouveau constructeur, qui est utilisé pour construire ungdb.Value
à partir d'un objet tampon Python et d'ungdb.Type
. -
Les informations sur les trames imprimées par le code Python de filtrage des trames sont désormais cohérentes avec ce que la commande
backtrace
imprime lorsqu'il n'y a pas de filtres, ou lorsque l'option-no-filters
de la commandebacktrace
est utilisée.