Le serveur MySQL et la plupart des clients MySQL sont compilés avec le paquet DBUG écrit, à l'origine, par Fred Fish. Lorsque MySQL est compilé avec le support du débogage, ce paquet permet d'obtenir des fichiers de tra¸age de ce que le programme débogue. See Section D.1.2, « Créer un fichier de tra¸age ».
Le paquet de débogage est utilisé en invoquant le programme avec
l'option --debug="..."
ou
-#...
.
La plupart des programmes MySQL ont une chaîne de débogage par
défaut qui sera utilisée si vous ne spécifiez aucune option à
--debug
. Le fichier de tra¸age par défaut est
usuellement /tmp/nomprogramme.trace
sur Unix et
\nomprogramme.trace
sur Windows.
La chaîne de caractères de controle du débogage est une séquence de champs séparés par des deux-points (:) comme celle qui suit :
<champ_1>:<champ_2>:...:<champ_N>
Chaque champ consiste d'un caractère attribut suivi d'une liste
de modificateurs, commen¸ant optionnellement par une virgule
‘,
’, séparés par des virgules :
flag[,modificateur,modificateur,...,modificateur]
Les caractères attributs actuellement reconnus sont :
Attribut | Description |
d | Active les sorties des macros DBUG_<N> pour l'êtat courant. Peut être suivi d'une liste de mots clefs, ce qui sélectionne la sortie seuelemnt pour les macros DBUG contenant ces mots. Une liste de mots clefs vides implique les sorties de toutes les macros. |
D | Attendre après chaque ligne résultante du débogueur. L'argument est
le nombre de dixièmme de secondes à attendre, sujet aux
capabilités de la machine. Et donc,
-#D,20 est une attente de deux
secondes. |
f | Limiter le débogage et/ou le tra¸age aux fonctions citées. Notez qu'une liste nulle désactivera toutes les fonctions. Les attributs appropriés "d" ou "t" doivent quand même être donnés, cet attribut ne limite que leurs actions si ils sont activés. |
F | Identifie le nom du fichier source pour chaque ligne de débogage ou de tra¸age affichée. |
i | Identifie le processus avec son identifiant pour chaque ligne de débogage ou de tra¸age affichée. |
g | Active le profiling. Crée un fichier nommé
dbugmon.out contenant des
informations qui peuvent être utilisées pour profiler le
programme. Peut être suivi d'une liste de mots clefs qui
sélectionnent le profiling uniquement pour les fonctions
présentes dans ctte liste. Une liste nulle implique que
toutes les fonctions sont considérées. |
L | Identifie le numéro de ligne du fichier source pour chaque ligne renvoyée par le tra¸age ou le débogage. |
n | Imprime le niveau de profondeur de la fonction en cours d'exécution pour la sortie du tra¸age ou du débogage. |
N | Numérote chaque ligne de la sortie du débogage. |
o | Redirige le flux de sortie du débogueur vers le fichier spécifié. Par défaut, c'est stderr. |
O | Comme o mais le fichier est vraiement écrit entre
chaque ajout de contenu. Lorsque le besoin en est, le
fichier est fermé puis réouvert entre chaque écriture. |
p | Limite les actions du débogueur aux processus spécifiés. Un processus peut être identifié avec la macro DBUG_PROCESS et correspondre à un processus dans la liste pour que le débogage ait lieu. |
P | Affiche le nom du processus courant pour chaque ligne de sortie de débogage ou de tra¸age. |
r | Lors du passage à un nouvel état, ne pas hériter le niveau de profondeur de l'état de la fonction précédente. Utile lorsque l'affichage commence à la marge gauche. |
S | Exécute la fonction _sanity(_file_,_line_) sur chaque fonction déboguée jusqu'à ce que la valeur de retour de _sanity() diffère de 0. (La plupart du temps utilisée avec safemalloc pour trouver les pertes de mémoire) |
t | Active le tra¸age des appels/sorties des fonctions. Peut être suivi d'une liste (ne contenant qu'un seul modificateur) donnant un maximum numérique du tra¸age, au delà duquel aucune sortie ne sera affichée pour les macros de débogage ou de tra¸age. Par défaut, c'est une option de temps de compilation. |
Quelques exemples de chaînes de controle de débogage pouvant être utilisée en ligne de commande dans le shell ("-#" est typiquement utilisé pour introduire une chaîne de controle à un programme d'application) sont :
-#d:t -#d:f,main,subr1:F:L:t,20 -#d,input,output,files:n -#d:t:i:O,\\mysqld.trace
En MySQL, les balises communes affichées (avec l'option
d
) sont :
enter
,exit
,error
,warning
,info
et loop
.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.