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 debugging. See Abschnitt E.1.2, „Trace-Dateien erzeugen“.
      This section summaries 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 for MySQL 5.1
      to get the most updated DBUG manual.
    
      You use the debug package by invoking a program with the
      --debug="..." or the -#...
      option.
    
      Most MySQL programs have a default debug string that is used if
      you don't specify an option to --debug. The
      default trace file is usually
      /tmp/program_name.trace on Unix and
      \program_name.trace on Windows.
    
The debug control string is a sequence of colon-separated fields as follows:
<field_1>:<field_2>:...:<field_N>
      Each field consists of a mandatory flag character followed by an
      optional ‘,’ and comma-separated
      list of modifiers:
    
flag[,modifier,modifier,...,modifier]
The currently recognized flag characters are:
| Flag | Description | 
| d | Enable output from DBUG_<N> macros for the current state. May be followed by a list of keywords which selects output only for the DBUG macros with that keyword. An empty list of keywords implies output for all macros. | 
| D | Delay after each debugger output line. The argument is the number of
              tenths of seconds to delay, subject to machine
              capabilities. For example, -#D,20specifies a delay of two seconds. | 
| f | Limit debugging, tracing, and profiling to the list of named functions.
              Note that a null list disables all functions. The
              appropriate dortflags must still be given; this flag only limits their
              actions if they are enabled. | 
| F | Identify the source file name for each line of debug or trace output. | 
| i | Identify the process with the PID or thread ID for each line of debug or trace output. | 
| g | Enable profiling. Create a file called dbugmon.outcontaining information that can be used to profile the
              program. May be followed by a list of keywords that select
              profiling only for the functions in that list. A null list
              implies that all functions are considered. | 
| L | Identify the source file line number for each line of debug or trace output. | 
| n | Print the current function nesting depth for each line of debug or trace output. | 
| N | Number each line of debug output. | 
| o | Redirect the debugger output stream to the specified file. The default
              output is stderr. | 
| O | Like o, but the file is really flushed between each
              write. When needed, the file is closed and reopened
              between each write. | 
| p | Limit debugger actions to specified processes. A process must be
              identified with the DBUG_PROCESSmacro
              and match one in the list for debugger actions to occur. | 
| P | Print the current process name for each line of debug or trace output. | 
| r | 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. | 
| S | Do function _sanity(_file_,_line_)at each debugged
              function until_sanity()returns
              something that differs from 0. (Mostly used withsafemallocto find memory leaks) | 
| t | 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. | 
      Some examples of debug control strings that might appear on a
      shell command line (the -# is typically used to
      introduce a control string to an application program) are:
    
-#d:t -#d:f,main,subr1:F:L:t,20 -#d,input,output,files:n -#d:t:i:O,\\mysqld.trace
      In MySQL, common tags to print (with the d
      option) are enter, exit,
      error, warning,
      info, and loop.
    
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.

