10bet网址
MySQL 5.6リファレンスマニュアル
本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb


24.4.3 dbugパッケジ. txt

MySQLサーバーおよびほとんどのMySQLクライアントは,もともと弗雷德鱼によって作成されたDBUGパッケージとともにコンパイルされます。MySQLをデバッグ用に構成した場合は,このパッケージによって,プログラムが実行している内容のトレースファイルを取得できるようになります。セクション24.4.1.2 "トレスファルの作成"を参照してください。

このセクションでは,デバッグサポート付きでビルドされたMySQLプログラムのコマンド行のデバッグオプションに指定できる引数値をまとめています。DBUGパッケジを使用したプログラミングにいては,MySQLソdbugディレクトリにあるdbugマニュアルを参照してください。最新のdbugマニュアルを入手するには,最新の配布を使用してください。

Dbugパッケジは,——调试(=debug_optionsまたは- # (debug_optionsオプションを指定してプログラムを起動することによって使用できます。——调试または- #オプションを指定して,debug_options値を指定しない場合,ほとんどのMySQLプログラムではデフォルト値が使用されます。サバのデフォルトは,Unixの場合はd:师:我:啊,/ tmp / mysqld.trace, Windowsの場合はd:师:我:啊,\ mysqld.traceです。このデフォルトには次のような効果があります。

  • d:すべてのデバッグマクロの出力を有効にします

  • t:関数の呼び出しおよび終了をトレスします

  • :出力行にpidを追加します

  • 啊,/ tmp / mysqld.traceO, \ mysqld.trace:デバッグ出力ファ邮箱ルを設定します

ほとんどのクラアントプログラムでは,プラットフォムにかかわらず,デフォルトのdebug_options値であるd:师:o, / tmp /program_name.traceが使用されます。

シェルのコマンド行で指定されることがある,デバッグ制御文字列のいくかの例を次に示します。

——debug=d:t——debug=d:f,main,subr1: f:L:t,20——debug=d,输入,输出,文件:n——debug=d:t:i:O,\\mysqld.trace

mysqldの場合は,调试システム変数を設定することによって,dbug設定を実行時に変更することもできます。この変数にはグロバル値とセッション値があります。

设置全局调试= 'debug_options”;设置会话调试= 'debug_options”;

実行時に変更するには,セッション値であっても超级権限が必要となります。

debug_options値は,コロンで区切られた一連のフィルドです。

field_1: field_2:……:field_N

この値内の各フィルドは必須のフラグ文字で構成され,フラグ文字の前に+文字または-文字,およびフラグ文字の後ろにカンマ区切りの修飾子のリストがオプションで付加されることがあります。

[+ | -]国旗(修饰符修饰符,…,修饰符)

次の表は,許可されるフラグ文字を示しています。認識されないフラグ文字は暗黙のうに無視されます。

フラグ

説明

d

DBUG_XXXマクロからの現在の状態に関する出力を有効にします。キーワードのリストがあとに続くことがあり,そのキーワードを使用するDBUGマクロの出力のみが有効になります。キワドのリストが空の場合は,すべてのマクロの出力が有効になります。

MySQLでは,一般的に有効にされるデバッグマクロのキ,ワ,ドは,输入退出错误警告信息,および循环です。

D

各デバッガの出力行のあとに待機します。引数は0.1秒単位の待機時間であり,マシンの能力の影響を受けます。たとえば,D, 20は2秒の待機を指定します。

f

デバッグ,トレス,およびプロファ。空のリストの場合はすべての関数が有効になります。適切なdフラグまたはtフラグを指定する必要があり,それらのフラグが有効な場合にのみ,このフラグはそれらのフラグのアクションを制限します。

F

デバッグ出力またはトレス出力の各行にソスファル名を示します。

デバッグ出力またはトレス出力の各行にpidまたはスレッドidでプロセスを示します。

l

デバッグ出力またはトレス出力の各行にソスファルの行番号を示します。

n

デバッグ出力またはトレス出力の各行に現在の関数のネストの深さを出力します。

N

デバッグ出力の各行に番号を付けます。

o

デバッガの出力ストリムを指定されたファレクトします。デフォルトの出力先はstderrです。

O

oと似ていますが、ファ以及ルは書き込みごとに実際にはフラッシュされます。必要な場合、ファ以及ルが書き込みごとに閉じられてふたたび開きます。

p

デバッガアクションを指定されたプロセスに限定します。デバッガアクションが実行されるためには,プロセスがDBUG_PROCESSマクロで識別され,リスト内のプロセスと一致する必要があります。

P

デバッグ出力またはトレス出力の各行に現在のプロセス名を出力します。

r

新しい状態をプッシュするときに,前の状態の関数のネストレベルを継承しません。出力を左マジンから開始する場合に便利です。

年代

_sanity ()から0以外が返されるまで,デバッグされる各関数で関数_sanity (_file_ _line_)を実行します。

t

関数の呼び出し/終了のトレス行を有効にします。最大のトレースレベルを示す数値を指定するリスト(修飾子が1つだけ含まれています)があとに続く場合があり,それを超えるとデバッグマクロまたはトレースマクロの出力は行われません。デフォルトはコンパ邮箱ル時のオプションです。

フラグの前の+文字や-文字,およびフラグの後ろに続く修飾子のリストは,dfなどのフラグ文字に対して使用して,該当するすべての修飾子または一部の修飾子に対してデバッグ操作を有効にできます。

  • フラグの前に+または-がない場合,フラグ値は指定された修飾子リストのとおりに設定されます。

  • フラグの前に+または-がある場合は,リスト内の修飾子が現在の修飾子リストに対して追加または削除されます。

次の例は,dフラグでのこの動作を示しています。dのリストが空の場合は,すべてのデバッグマクロの出力が有効になります。リストが空でない場合は,リスト内のマクロキワドの出力のみが有効になります。

次のステトメントでは,指定されたとおりにd値が修飾子リストに設定されます。

mysql> SET debug = 'd';mysql >选择@@debug;+---------+ | @@ 调试  | +---------+ | d  | +---------+ mysql >设置debug = ' d、错误、警告;mysql >选择@@debug;+-----------------+ | @@ 调试  | +-----------------+ | d、错误、警告  | +-----------------+

フラグの前の+または-は,現在のd値に対して追加または削除を行います。

mysql> SET debug = '+d,loop';mysql >选择@@debug;+----------------------+ | @@ 调试  | +----------------------+ | d,错误、警告循环  | +----------------------+ mysql >设置debug =“- d、错误、循环”;mysql >选择@@debug;+-----------+ | @@ 调试  | +-----------+ | d,警告  | +-----------+

すべてのマクロが有効な状態に対して追加した場合は,何も変更されません。

mysql> SET debug = 'd';mysql >选择@@debug;+---------+ | @@ 调试  | +---------+ | d  | +---------+ mysql >设置debug = + d、循环的;mysql >选择@@debug;+---------+ | @@ 调试  | +---------+ | d  | +---------+

有効なすべてのマクロを無効にすると,dフラグは完全に無効になります。

SET debug = 'd,error,loop';mysql >选择@@debug;+--------------+ | @@ 调试  | +--------------+ | d、错误、循环  | +--------------+ mysql >设置debug =“- d、错误、循环”;mysql >选择@@debug;+---------+ | @@ 调试  | +---------+ | | +---------+
注記

MySQL 5.6.12より前では,+および-の修飾子が正しく処理されない場合があり,フラグ値が不正な状態のままになる可能性があります。调试の設定順序を事前に確認するか,+または-を使用せずに設定してください。


本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb