MySQL サーバと多くの MySQL クライアントは、DBUG パッケージ(オリジナル開発者は Fred Fish)によってコンパイルされています。デバッグ用に MySQL を設定した場合、デバッグされている内容に関するトレースファイルを取得できます。 See 項E.1.2. 「トレースファイルの作成」。
デバッグパッケージを使用するには、--debug="..."
または -#...
オプションを指定してプログラムを起動します。
多くの MySQL
プログラムにはデフォルトのデバッグ文字列があり、--debug
に対してオプションを指定しなかった場合に使用されます。デフォルトのトレースファイルは通常、Unix
では /tmp/programname.trace
、Windows では
\programname.trace
です。
デバッグコントロール文字列は、以下のようにコロンで区切られた一連のフィールドです。
<field_1>:<field_2>:...:<field_N>
各フィールドの構成要素は、フラグ文字列(必須)と、後続する "," およびコンマ区切り修飾子一覧(任意)です。
flag[,modifier,modifier,...,modifier]
現時点で認識されるフラグ文字は以下のとおりです。
フラグ | 説明 |
d | 現在の状態に対して DBUG_<N> マクロからの出力を有効にする。キーワードを伴う DBUG マクロに関する出力のみが選択されるキーワード一覧が後続する場合がある。キーワード一覧が空白になっている場合、すべてのマクロに関する出力であることを示す。 |
D | 各デバッガ出力行の後の遅延。引数は遅延する時間(1/10
秒単位の数)。マシンの性能によって異なる。つまり、-#D,20
は 2 秒遅延することを示す。 |
f | デバッグとトレースの一方または両方を制限し、指定された関数の一覧にプロファイルを設定する。注意: 一覧が空白になっている場合、すべての関数が無効になる。適切な "d" または "t" フラグの指定が依然として必要。このフラグによって関数の動作が制限されるのは、関数が有効になっている場合に限られる。 |
F | デバッグまたはトレース出力の各行に対応したソースファイル名を識別する。 |
i | デバッグまたはトレース出力の各行に対応した PID またはスレッド ID を持つプロセスを識別する。 |
g | プロファイルを有効にする。プログラムのプロファイルに使用できる情報を含むファイル 'dbugmon.out' を作成する。一覧の関数のみに対してプロファイルを選択するキーワードの一覧が後続する場合がある。一覧が空白になっている場合、すべての関数が考慮される。 |
F | デバッグまたはトレース出力の各行に対応したソースファイル行番号を識別する。 |
n | デバッグまたはトレース出力の各行に対応した現在の関数のネスト深度を印刷する。 |
N | dbug 出力の各行に番号を設定する。 |
o | デバッガ出力ストリームを指定ファイルにリダイレクトする。デフォルト出力は stderr である。 |
O |
o
と同様。ただし、書き込みのたびにファイルが実際にフラッシュされる。必要に応じて、ファイルは閉じられ、各書き込みの間に再度開かれる。 |
p | デバッガの操作を指定プロセスに制限する。プロセスは、DBUG_PROCESS マクロで識別され、実行されるデバッガ操作の一覧に含まれるものと一致しなければならない。 |
P | デバッグまたはトレース出力の各行に対応した現在のプロセス名を印刷する。 |
r | 新しいステータスに移行する際に、以前のステータスの関数ネストレベルを継承しない。.出力の開始位置が左マージンである場合に有効。 |
S | 0 以外の値が _sanity() から返されるまで、デバッグ対象の各関数で関数 _sanity(_file_,_line_) を実行する(メモリリークを検出するために safemalloc と共に使用されることが多い)。 |
t | 関数呼び出しの有効化/トレース行の終了。最大トレースレベルを数値で指定する一覧(修飾子が 1 つだけ含まれている)が後続する場合がある。このレベルを超えると、デバッグマクロとトレースマクロのいずれに対しても出力は実行されない。デフォルトはコンパイル時間オプションである。 |
シェルコマンドラインに表示されるデバッグコントロール文字列("-#" の一般的な用途は、アプリケーションプログラムに対するコントロール文字列の導入)の例を以下に示します。
-#d:t -#d:f,main,subr1:F:L:t,20 -#d,input,output,files:n -#d:t:i:O,\\mysqld.trace
MySQL
で出力するための一般的なタグ(d
オプション付き)は、enter
、exit
、error
、warning
、info
、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.