極めて固有な問題が起きた場合は、いつでも
        MySQL
        のデバッグを試みることができます。デバッグするには、--with-debug
        または --with-debug=full
        オプションを指定して MySQL
        を設定する必要があります。 MySQL
        がコンパイルされたかどうかをチェックするには、mysqld
        --help を実行します。--debug
        オプションが表示されたらデバッグは有効です。この場合、mysqladmin
        ver を実行すると、mysqld
        バージョンが mysql ... --debug
        として表示されます。
      
gcc または egcs の使用時には、以下の configure 行が推奨されています。
CC=gcc CFLAGS="-O2" CXX=gcc CXXFLAGS="-O2 -felide-constructors \ -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql \ --with-debug --with-extra-charsets=complex
        これによって、libstdc++
        ライブラリと C++
        例外に関する問題が回避され(多くのコンパイラでは、スレッドコードで
        C++
        例外が発生します)、すべてのキャラクタセットのサポート付きで
        MySQL がコンパイルされます。
      
        メモリオーバーランエラーの疑いがある場合、--with-debug=full
        オプションを指定して MySQL
        を設定し、メモリ割当(SAFEMALLOC)チェッカをインストールできます。ただし、SAFEMALLOC
        を指定して実行すると非常に遅くなるので、パフォーマンスの問題が生じたときには
        mysqld を --skip-safemalloc
        オプションで起動してください。これによって、malloc()
        と free()
        に対する呼び出しのたびにメモリオーバーランのチェックが無効になります。
      
        mysqld が --with-debug
        付きのコンパイル時にクラッシュしなくなった場合、コンパイラバグまたはタイミングバグが
        MySQL
        で検出されたと考えられます。この場合、上記の
        CFLAGS および CXXFLAGS
        変数に -g
        を追加し、--with-debug
        を指定しない方法を試みることができます。mysqld
        がクラッシュした場合、少なくとも
        gdb
        を使用してアタッチするか、コアファイル上で
        gdb
        を実行して何が起きたか確認することは可能です。
      
        デバッグ用に MySQL
        を設定すると、多くの特別なチェック関数が自動的に有効になり、これらによって
        mysqld の状態が監視されます。
        ``予期しない''
        状態が検出された場合、stderr
        にエントリが書き込まれ、mysqld_safe
        によってエラーログに送信されます。つまり、予期しない問題が
        MySQL
        で発生したときにソースディストリビューションを使用している場合、まず
        MySQL
        をデバッグ用に設定する必要があります。その後は
        MySQL
        メーリングリストにメールを送信し、ヘルプを依頼してください。
        See 項1.7.1.1. 「MySQL メーリングリスト」。 ご利用の MySQL
        バージョンに関するバグレポートまたは質問については、mysqlbug
        を使用してください。
      
        Windows 版 MySQL
        ディストリビューションでは、mysqld.exe
        がデフォルトでコンパイルされています(トレースファイルのサポート付き)。
      
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.

