mysql_debug

You are viewing an old version of this article. View the current version here.

構文

void mysql_debug(const char * debug);
  • debug - デバッグ対象の文字列。詳細は下記。

Description

Fred Fishのデバッグライブラリを利用することで、開発のためのデバッグを可能にします。 この機能を利用するためには、mariadbのクライアントライブラリがデバッグ有効の状態でコンパイルされている必要があります。

戻り値はありません。

デバッグされる文字列は、以下のようにコロンで分割されたフィールド順で出力されます。

フィールド1:フィールド2:フィールドn

それぞれのフィールドはフラグ文字を含みます。オプションでカンマおよびカンマ区切りのmodifierを出力できます。

フラグ[,modifier,modifier,...,modifier]

現在認識されるフラグ文字は下記です。

オプション説明
dEnable output from DBUG_ macros for for the current state. May be followed by a list of keywords which selects output only for the DBUG macros with that keyword. A null list of keywords implies output for all macros.
DDelay after each debugger output line. The argument is the number of tenths of seconds to delay, subject to machine capabilities. I.E. -#D,20 is delay two seconds.
fLimit debugging and/or tracing, and profiling to the list of named functions. Note that a null list will disable all functions. The appropriate "d" or "t" flags must still be given, this flag only limits their actions if they are enabled.
Fデバッグもしくはトレースしたいソースコードのファイル名を指定します。
iデバッグもしくはトレースしたいプロセスのIDを指定します。
gEnable profiling. Create a file called 'dbugmon.out' containing 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デバッグやトレース出力の対象となるソースファイルの行番号を指定します。
nデバッグやトレース出力の対象となる各行に対して、その行が存在する関数のネストの深さを表示します。
Nデバッグ出力される行数を指定します。
oデバッグの出力を特定のファイルにリダイレクトします。デフォルトの出力は標準エラー出力です。
OAs O but the file is really flushed between each write. When needed the file is closed and reopened between each write.
pLimit debugger actions to specified processes. A process must be identified with the DBUG_PROCESS macro and match one in the list for debugger actions to occur.
Pデバッグもしくはトレースで出力している際のプロセス名を出力します。
rWhen 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.
SDo function _sanity(_file_,_line_) at each debugged function until _sanity() returns something that differs from 0. (Mostly used with safemalloc)
tEnable 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 will occur for either debugging or tracing macros. The default is a compile time option.

mysql_debug()の機能を利用する代わりに、環境変数MYSQL_DEBUGを設定することも可能です。

デバッグ情報の生成を可能にすると、巨大なデバッグファイルを生成するため、全体的なパフォーマンスが劣化します。特定のケースのみでデバッグ情報を必要とする場合、mysql_debug_end()を使ってデバッグ情報の生成を無効化できます。

合わせて読む

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.