Le débogueur reconnaît les commandes suivantes. La plupart peut être abrégée en une ou deux lettres, par exemple "h(elp)" indique que aussi bien "h" que "help" invoquent la commande d'aide (mais pas "he" ou "hel", ni "H", "Help" ou "HELP"). Les arguments passés aux commandes doivent être séparés par des espaces (ou tabulations). Les arguments optionnels sont donnés entre crochets ("[]") dans la description qui suit; les crochets ne doivent pas être saisis lors de l'usage. Les alternatives sont séparées par une barre verticale ("|").
Saisir une ligne vide répète la dernière commande. Exception: si la dernière commande était "list", ce seront les 11 lignes suivantes qui seront affichée.
Les commandes que le débogueur ne reconnaît pas sont traités comme des instructions Python et sont exécutées dans le contexte du programme qui est débogué. Les instructions Python peuvent aussi être préfixées d'un point d'exclamation ("!"). C'est une façon puissante d'inspecter le programme en cours de débogage; il est même possible de changer la valeur d'une variable ou d'appeler une fonction. Lorsqu'une exception est déclenchée par l'instruction, le nom de l'exception est affiché, mais l'état du débogueur est inchangé.
Des commandes multiples peuvent être saisies sur une même ligne, séparées par ";;". (Un point-virgule unique ";" ne peut pas être utilisé, puisque c'est le séparateur que Python utilise pour distinguer plusieurs instructions dans la même ligne.) Il n'y a pas d'essai d'interprétation pour la coupure: la ligne est coupée à la première occurrence de ";;", même si celle-ci a lieu au milieu d'une chaîne de caractères.
Le débogueur admet des alias. Les alias peuvent avoir des paramètres, qui permettent une certaine adaptation au contexte qui est examiné.
Si un fichier .pdbrcse trouve dans le répertoire principal de l'utilisateur, ou dans le
répertoire actuel, il st lu et exécuté comme s'il avait été saisi à
l'invite du débogueur. Ceci est utile en particulier pour les alias.
Si les deux fichiers existent, celui du répertoire principal est lu
en premier, et les alias qui y sont définis peuvent être redéfinis
par le fichier du répertoire actuel.
Sans argument, affiche la liste des commandes disponibles. Avec une
commande comme argument, affiche l'aide concernant cette commande.
"help pdb" affiche en entier le fihcier de documentation; si la
variable d'environnement $PAGER est définie, le fichier est
passé à la commande qui s'y trouve. Il faut faire "help exec"
pour avoir l'aide de la commande "!" (seuls les identificateurs
peuvent être des arguments).
Affiche une trace de pile, avec l'instance d'activation la plus récente
en bas. Une flèche indique l'instance d'activation actuelle, qui détermine
le contexte de la plupart des commandes.
Change l'instance d'activation actuelle pour celle qui est
un niveau plus bas dans la pile (et qui est plus récente).
Change l'instance d'activation actuelle pour celle qui est
un niveau plus haut dans la pile (et qui est plus ancienne).
Avec l'argument nligne, pose un point d'arrêt à la ligne nligne
du fichier actuel. Avec un argument fonction, pose un point d'arrêt
à la premiére instruction exécutable de cette fonction.
Le numéro de ligne peut être préfixé avec un nom de fichier et
un deux-points, pour spécifier un point d'arrêt dans un autre
fichier (probablement un fichier qui n'a pas encore été chargé).
Le fichier est cherché dans Si un second argument est donné, ce doit être une expression
qui doit fournir une valeur vraie avant que le point d'arrêt
ne soit respecté.
Sans argument, affiche tous les points d'arrêt, avec pour chacun
le nombre de fois qu'il a été atteint, son décompte à ignorer (voir ignore ci-dessous),
et la condition associée lorsqu'elle existe.
Point d'arrêt temporaire, qui sera enlevé dès qu'il sera atteint
pour la première fois. Les arguments sont les mêmes que pour break.
Avec argument, enlève les points d'arrêt dont les numéros sont donnés séparés
par des espaces.
Sans argument, enlève tous les points d'arrêt (mais demande confirmation
avant).
Désactive la liste de points d'arrêt (séparés par des espaces) donnée en
argument. Désactiver un point d'arrêt, contrairement a clear, ne l'efface
pas de la liste des points
d'arrêt existants; il pourra être réactivé par la suite.
(Ré)active les points d'arrêt spécifiés.
Change le décompte à ignorer du point d'arrêt spécifé.
Si count n'est pas donné, le décompte à ignorer sera 0.
Un point d'arrêt devient actif lorsque le décompte à ignorer
devient nul. S'il ne l'est pas, il sera décrémenté à chaque
passage par le point d'arrêt, si celui-ci n'est pas désactivé
et sa condition est vraie.
Condition est une expression qui doit valoir vrai pour que le
point d'arrêt soit respecté. Si la condition n'est pas donnée,
la condition précédente est enlevée: le point d'arrêt sera
rendu inconditionnel.
Exécute la ligne actuelle, en s'arrêtant dès que possible (soit
dans une fonction qui est appelée, soit à la prochaine ligne
de la fonction courante).
Poursuit l'exécution jusqu'à ce que la ligne suivante de la fonction
soit atteinte, ou jusqu'à ce que la fonction retourne. (La différence
entre "next" et "step" est que "step" s'arrête dans
une fonction appelée, alors que "next" exécute un appel de fonction
à vitesse (presque) normale, et s'arrêtera à la ligne suivante de la
fonction actuelle.)
Continue l'exécution jusqu'à ce que la fonction actuelle retourne.
Continue l'exécution et arrête uniquement sur un point d'arrêt.
Affiche le code source du fichier actuel. Sans arguments, affiche
11 lignes autour de la ligne actuelle, ou continue l'affichage du
list précédent. Avec un seul argument, affiche 11 lignes autour de
celle-là. Avec deux arguments, affiche le source entre les numéros
de ligne donnés; si le second argument est négatif, il est interprété
comme un décompte de lignes (à partir de debut).
Affiche la liste des arguments de la fonction actuelle.
Evalue l'expression dans le contexte actuel et affiche son
résultat. (Note: "print" peut aussi être utilisé, mais ce
n'est pas une commande du débogueur --- c'est l'instruction
print de Python.)
Crée un alias appelé nom qui exécute la commande.
La commande ne doit pas être donnée entre guillemets.
Les paramètres qui peuvent être remplacés sont indiqués par
"%1", "%2", etc., "%*" est remplacé par tous les
paramètres. Si aucune commande est donnée, tous les alias sont affichés.
Les alias peuvent être imbriqués, et contiennent tout ce qui peut
être saisi à l'invite de pdb. Notez que les commandes interned de pdb
peuvent être redéfinies par des alias. Une commande ainsi surchargée
est cachée jusqu'à ce que son alias soit effacé. L'aliasage est apliqué
de façon récursive au premier mot de la ligne de commande; tous les autres
mots sont conservés.
En guise d'exemple, voici deux alias utiles (surtout placés dans
le fichier .pdbrc:
Efface un alias.
Exécute l'instruction (d'une seule ligne) dans le
contexte de l'instance d'activation courante.
Le point d'exclamation peut être omis lorsque le premier
mot ne ressemble pas à une commande du débogueur.
Pour changer la valeur d'une variable globale, il faut
préfixer l'affectation avec une instruction "global"dans la même ligne, par exemple:
Sort du débogueur. Le programme qui était exécuté est avorté.
|fonction[, condition]]sys.path. Notez que chaque
point d'arrêt portera un numéro, auquel font référence toutes les
commandes qui se servent des points d'arrêt.
|fonction[, condition]]
#Affiche les variables d'instance (usage "pi classInst")
alias pi for k in %1.__dict__.keys(): print "%1.",k,"=",%1.__dict__[k]
#Affiche les variables d'instance de self
alias ps pi self
(Pdb) global liste_options; liste_options = ['-l']
(Pdb)