Rechercher dans le manuel MySQL
29.5.3 The DBUG Package
The MySQL server and most MySQL clients are compiled with the DBUG package originally created by Fred Fish. When you have configured MySQL for debugging, this package makes it possible to get a trace file of what the program is doing. See Section 29.5.1.2, “Creating Trace Files”.
This section summarizes the argument values that you can specify
in debug options on the command line for MySQL programs that
have been built with debugging support. For more information
about programming with the DBUG package, see the DBUG manual in
the dbug
directory of MySQL source
distributions. It's best to use a recent distribution to get the
most updated DBUG manual.
The DBUG package can be used by invoking a program with the
--debug[=
or debug_options
]-#
[
option. If
you specify the debug_options
]--debug
or -#
option without a debug_options
value,
most MySQL programs use a default value. The server default is
d:t:i:o,/tmp/mysqld.trace
on Unix and
d:t:i:O,\mysqld.trace
on Windows. The effect
of this default is:
d
: Enable output for all debug macrost
: Trace function calls and exitsi
: Add PID to output lineso,/tmp/mysqld.trace
,O,\mysqld.trace
: Set the debug output file.
Most client programs use a default
debug_options
value of
d:t:o,/tmp/
,
regardless of platform.
program_name
.trace
Here are some example debug control strings as they might be specified on a shell command line:
--debug=d:t
--debug=d:f,main,subr1:F:L:t,20
--debug=d,input,output,files:n
--debug=d:t:i:O,\\mysqld.trace
For mysqld, it is also possible to change
DBUG settings at runtime by setting the
debug
system variable. This
variable has global and session values:
Changing the global debug
value
requires privileges sufficient to set global system variables.
Changing the session debug
value requires privileges sufficient to set restricted session
system variables. See
Section 5.1.9.1, “System Variable Privileges”.
The debug_options
value is a sequence
of colon-separated fields:
field_1:field_2:...:field_N
Each field within the value consists of a mandatory flag
character, optionally preceded by a +
or
-
character, and optionally followed by a
comma-delimited list of modifiers:
[+|-]flag[,modifier,modifier,...,modifier]
The following table describes the permitted flag characters. Unrecognized flag characters are silently ignored.
Flag |
Description |
---|---|
|
Enable output from DBUG_
In MySQL, common debug macro keywords to enable are
|
|
Delay after each debugger output line. The argument is
the delay, in tenths of seconds, subject to machine
capabilities. For example, |
|
Limit debugging, tracing, and profiling to the list of
named functions. An empty list enables all functions.
The appropriate |
|
Identify the source file name for each line of debug or trace output. |
|
Identify the process with the PID or thread ID for each line of debug or trace output. |
|
Identify the source file line number for each line of debug or trace output. |
|
Print the current function nesting depth for each line of debug or trace output. |
|
Number each line of debug output. |
|
Redirect the debugger output stream to the specified
file. The default output is |
|
Like |
|
Limit debugger actions to specified processes. A process
must be identified with the
|
|
Print the current process name for each line of debug or trace output. |
|
When pushing a new state, do not inherit the previous state's function nesting level. Useful when the output is to start at the left margin. |
|
Do function |
|
Enable function call/exit trace lines. May be followed by a list (containing only one modifier) giving a numeric maximum trace level, beyond which no output occurs for either debugging or tracing macros. The default is a compile time option. |
The leading +
or -
character and trailing list of modifiers are used for flag
characters such as d
or f
that can enable a debug operation for all applicable modifiers
or just some of them:
With no leading
+
or-
, the flag value is set to exactly the modifier list as given.With a leading
+
or-
, the modifiers in the list are added to or subtracted from the current modifier list.
The following examples show how this works for the
d
flag. An empty d
list
enabled output for all debug macros. A nonempty list enables
output only for the macro keywords in the list.
These statements set the d
value to the
modifier list as given:
- +---------+
- | @@debug |
- +---------+
- | d |
- +---------+
- +-----------------+
- | @@debug |
- +-----------------+
- | d,error,warning |
- +-----------------+
A leading +
or -
adds to
or subtracts from the current d
value:
- +----------------------+
- | @@debug |
- +----------------------+
- | d,error,warning,loop |
- +----------------------+
- +-----------+
- | @@debug |
- +-----------+
- | d,warning |
- +-----------+
Adding to “all macros enabled” results in no change:
- +---------+
- | @@debug |
- +---------+
- | d |
- +---------+
- +---------+
- | @@debug |
- +---------+
- | d |
- +---------+
Disabling all enabled macros disables the d
flag entirely:
Traduction non disponible
Le manuel MySQL n'est pas encore traduit en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Document créé le 26/06/2006, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/mysql-rf-dbug-package.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.