RAD Studio デバッガに対するログの有効化
デバッガ ログは、デバッガ自身におけるバグの特定を支援するなど、デバッグ時における予想外の動作を診断および理解するのに役立ちます。
これらのログは、環境変数を設定することで有効になりますが、プラットフォームごとに異なるデバッガがあります。 つまり、プラットフォームに応じて、異なる環境変数を設定してログを生成する必要があります。
ログを生成するには、次の手順に従います:
- IDE を終了します(リモート デバッグ中の場合には PAserver も終了させます)。
- あらかじめ既存のログをすべて削除します(その問題を表すログ セット 1 つのみになるように)。
- プラットフォームに適用するすべての環境変数を以下で示すように設定します(指定されている出力ディレクトリがすべて存在し、書き込みができる状態であることを確認してください)。
- IDE を起動します(リモート デバッグ中の場合には PAserver も終了させます)。
- デバッガを実行し、バグを再現するのに必要なことのみを行います。
- IDE を終了します(リモート デバッグ中の場合には PAserver も終了させます)。
- 生成されたすべてのデバッガ ログを収集し、それらをバグ レポートまたはサポート リクエストに添付します。
- 設定で指定されている出力ディレクトリは、IDE が起動する前に存在してなければなりません(および/または PAserver もリモート デバッグ中の場合には同様)。
- 設定で指定された出力ディレクトリは(もしあれば)、特に Windows 10 および MacOS の場合、そこへの書き込みアクセス権がなければなりません。
- ログが参照可能になるには、その前に IDE を一度終了させなければならない場合があります(プラットフォームによる)。
目次
DBK ログ
Windows ホストの DBK ログ(Win32 & Win64)
Windows マシン上でデバッガ ログを取得するにはまず、Windows コマンド シェルを実行します。次のコマンドを入力します。
SET DBK_DEBUG=all SET DBK_DEBUG_OUTDIR=d:\MyLogsDirectory bds.exe
デバッガを実行するたびに:
- Win32 上では、MyLogDirectory に、dbk_<pid1>.log(thedebug サーバーの場合)、および dbk_<pid2>_N.log(デバッガの場合)という名前の DBK ログができます。
- Win64 上では、MyLogsDirectory に、dbk_<pid1>.log(Win32 ホストのドライバ用)、dbk_<pid2>.log(デバッグ サーバー用)、dbk_<pid3>_N.log(デバッガ用)という名前の DBK ログができます。
MacOS ホストの DBK ログ(macOS32 & IOS シミュレータ)
Mac マシン上でデバッガ ログを取得するにはまず、ターミナル ウィンドウを開きます。 PAserver がインストールされているディレクトリに移動します。次のコマンドを入力します。
export DBK_DEBUG=all export DBK_DEBUG_OUTDIR=~/Documents/MyLogsDirectory ./paserver<
デバッガを実行するたびに、DBK_DEBUG_OUTDIR が設定されていると、MyLogsDirectory に、dbk_<pid1>.log(デバッグ サーバーの場合)、dbk_<pid2>.log(デバッガの場合)という名前の DBK ログができます。設定されていない場合、ログは、プロジェクトのバイナリと同じプロジェクトに出力されます。
Win64 C++ エバリュエータ ログ
C++ Win64 ビット アプリケーションの場合、エバリュエータ(libbcceval64.dll)には追加ログがあります。これらのログは、DBK ログへの追加です。これらのログを取得するには、Windows のコマンド シェルを実行します。 次のコマンドを入力します。
SET DBK_DEBUG=all SET DBK_DEBUG_OUTDIR=d:\MyLogsDirectory SET LLDB_LOGGING=1 SET LLDB_LOGGING_OUTDIR=d:\MyLogsDirectory bds.exe
エバリュエータ ログは、MyLogsDirectory にあり、bcceval*.log という名前がついています。このとき、bcceval.log は、デバッガを最初に実行した際に作られ、それ以降のログは bcceval<N>.log となります。
また、MyLogsDirectory に、dbk_<pid1>.log(Win32 ホストのドライバ用)、dbk_<pid2>.log(デバッグ サーバー用)、dbk_<pid3>.log(デバッガ用)という名前の DBK ログができます。
GDB ログ
iosgdb および linuxgdb ログ(iOS32 & Linux64)
ログは、リモート gdb との通信のログを取るために、IDE によって生成されることも(GDB_DEBUG を介して)、リモート マシン上の PAserver によって起動される GDB によって生成されることもあります(MIGDB_DEBUG を介して)。
まずログを取得するには、Mac または Linux マシンにて、ターミナル ウィンドウを開きます。 PAserver がインストールされているディレクトリに移動します。 次のコマンドを入力します。
export MIGDB_DEBUG=1 export GDB_DEBUG=1 export GDB_OUTDIR=~/MyLogDirectory ./paserver
GDB_OUTDIR が設定されている場合、MyLogsDirectory に gdb_<pid>.log という名前の IDE のログができます。設定されていない場合、ログは、プロジェクトのバイナリと同じプロジェクトに出力されます。
GDB のログは、プロジェクトのバイナリと同じディレクトリに(例:"~/paserver/scratch-dir/Project1"
)、migdb_<pid>.log という名前でできます。
androidgdb ログ(Android)
ログは、リモート gdb との通信のログを取るために、IDE によって生成されることも(GDB_DEBUG を介して)、同じ Windows マシン上にある GDB によって生成されることもあります(MIGDB_DEBUG を介して)。 Windows コマンド シェルで、次のようにコマンドを入力します:
SET MIGDB_DEBUG=1 SET GDB_DEBUG=1 SET GDB_OUTDIR=d:\MyLogsDirectory bds.exe
GDB_OUTDIR が設定されている場合、MyLogsDirectory に gdb_<pid>.log という名前の IDE のログができます。設定されていない場合、ログは、プロジェクトのバイナリと同じプロジェクトに出力されます。
GDB のログは、プロジェクトのバイナリと同じディレクトリに(例: "c:\Users\John\Documents\Embarcadero\Studio\Projects\Android\Debug\Project1\debug\".
)、migdb_<pid>.log という名前でできます。
LLDB ログ(iOS64 & macOS 64)
ログは、リモート lldb との通信のログを取るために、IDE によって生成されることも(LLDB_DEBUG を介して)、リモート マシン上の PAserver によって起動される LLDB によって生成されることもあります(LLDB_LOGGING を介して)。
Mac または Linux マシンにて、ターミナル ウィンドウを開きます。
PAserver がインストールされているディレクトリに移動します。 次のコマンドを入力します。
export LLDB_LOGGING=1 export LLDB_DEBUG=1 export LLDB_OUTDIR=~/MyLogDirectory ./paserver
LLDB_OUTDIR が設定されている場合、MyLogsDirectory に lldb_<pid>.log という名前の IDE のログができます。 設定されていない場合、ログは、プロジェクトのバイナリと同じプロジェクトに出力されます。
lldb ログは、プロジェクトのバイナリと同じディレクトリに(例: "~/paserver/scratch-dir/Project1"
)、lldb*.log という名前でできます。このとき、lldb.log は、デバッガを最初に実行した際に作られ、それ以降のログは lldb<N>.log となります。