デバッガー・エンジンは、デバッガー・ユーザー・インターフェースを実行しているマシンとは別のマシン上で実行できます。 2 つのマシンは、同じタイプのマシンである必要はありません。 例えば、デバッガー・ユーザー・インターフェース は Microsoft Windows マシンで実行することがでるのに対し、 デバッガー・エンジンは UNIX プラットフォームで実行することができます。 唯一の要件は、マシン間で TCP/IP を介した通信が可能であるということです。
Eclipse ユーザー・インターフェースからデバッグを行うときは、 ユーザー・インターフェース・デーモン・モード を使用して デバッガー・エンジンを開始します。 このモードでは、まずユーザー・インターフェースが開始され、エンジンが接続されるまで待機します。
irmtdbgc コマンドは、 リモート・システム上でデバッグ・エンジンを開始します。 irmtdbgc コマンドの構文 は、irmtdbgc [debugger parms] debuggee_name [debuggee parms] です (ここで [debugger parms] の 順序は任意です)。
パラメーター | 説明 |
---|---|
-qhost= xxxx | xxxxは、 デバッガー・ユーザー・インターフェースを実行するマシンのホスト名を指定します。 これには、ホスト名か IP アドレスを指定できます。 指定されていない場合、環境変数 DER_DBG_ADDR の値が使用されます。 どちらも指定されていない場合は、値 localhost が使用されます。 |
-quiport= xxxx | xxxxは、 デバッガー・ユーザー・インターフェースが使用するポート番号を指定します。 指定されていない場合、環境変数 DER_DBG_PORT の値が使用されます。 どちらも指定されていない場合は、値 8001 が使用されます。 |
-i | 指定されてい場合、デバッグ対象をロードした直後にデバッガーが停止し、 アプリケーションのメイン・エントリー・ポイントまで実行されないことを指定します。 C++ の場合、これはアプリケーションの静的初期化コードをデバッグできることを意味します。 |
-p- | 指定されている場合、ユーザー・インターフェースに保管されているプロファイル情報を無視することを指定します。 |
-a xxxx |
xxxx は、 デバッガーの接続先のプロセス ID を指定します。 |
-qlang= xxxx | デバッグ対象の主言語 を指定します。 これには、C、CL、COBOL、C++、Fortran、PL/1、または RPG を指定できます。 デフォルトでは、エンジンは、メイン・エントリー・ポイントの言語を使用します。 アプリケーションで、複数のプログラミング言語が使用されている場合は、デフォルトの言語を指定変更できます。 |
-qdisplay= xxxx | これは、AIX および LINUX エンジンにのみ適用されます。
xxxx は、 デバッグで使用される X ウィンドウ表示を指定します。 デフォルトは、DISPLAY 環境変数の値です。 以下の場合、 デバッグ対象は X ウィンドウ表示のみです。
両方の条件が一致しない場合は、デバッグ対象は デバッグ・エンジンが開始されたときのセッションを使用します。 |
-s | デバッグ対象を直ちに実行することを指定します。 デバッグ対象がプロファイルからのブレークポイントに到達したとき、 またはシグナルがあった場合に、デバッグ対象は停止します。 |
-qstop=[module:]function | 指定された関数をメイン・エントリー・ポイントとして扱います。 プログラムは指定の関数に到達するまで実行されてから、停止します。 このオプションは、-s オプションとの互換性はありません。 |
-- | 次のパラメーターがデバッグ名であることを指示します。 これは、デバッグ対象の名前が文字「-」で始まる場合にのみ必要です。 |
デバッガーは、PATH 環境変数を使用してデバッグ対象を検索します。 AIX では、デバッグ対象がコア・ファイルの場合もあります。
以下の環境変数によって、エンジンの振る舞いを制御します。
環境変数 | 説明 |
---|---|
DER_DBG_LOCAL_PATH | 実行可能ファイルを検索するためおよびライブラリーをロードするためにデバッガーが使用するパスのセットを指定します。 デバッガーは、PATH 環境変数またはシステムのライブラリー検索パスを検索する前に、このパスを検索します。 |
DER_DBG_PATH | ソース・ファイルを検索するためにデバッガーが使用するパスのセットを指定します。 デバッグ情報に完全修飾ソース・ファイル名が含まれていない場合に、これらのパスが使用されます。 |
DER_DBG_OVERRIDE | ソース・ファイルを検索するためにデバッガーが使用するパスのセットを指定します。 DER_DBG_PATH が検索される前に、これらのパスが検索されます。 |
DER_DBG_ADDR | ユーザー・インターフェース・デーモン・モードで使用されるデフォルト・ホストを指定します。 これには、ホスト名か、IP アドレスを指定できます。 デフォルトは localhost です。 この値は、コマンド行パラメーター -qhost によって指定変更されます。 |
DER_DBG_PORT | ユーザー・インターフェース・デーモン・モードで使用されるデフォルト・ポートを指定します。 デフォルトは 8001 です。 この値は、コマンド行パラメーター -quiport によって指定変更されます。 |
DER_DBG_TABGRID | ユーザー・インターフェースのソース・ファイル・ビューでタブを拡張するときに使用されるタブの間隔を指定します。 デフォルトは 8 です。 |
DER_DBG_TAB | DER_DBG_TABGRID を 0 に設定すると、 ソース・ファイルの各タブの位置に挿入されるスペースの数が指定されます。 デフォルトは 8 です。 |
DER_DBG_ DEEP_STEP_DEBUG | デフォルトでは、ステップ・デバッグ関数は直属のサブルーチンでデバッグ情報を検査します。 この変数を Y または YES に設定した場合、 エンジンはデバッグ情報のあるロケーションが見つかるまでステップイントゥ します。 デバッグ情報のないコードが大量にある場合、これによって速度が低下する可能性があります。 |
DER_DBG_XWINDOW | これは、UNIX プラットフォームにのみ適用されます。
この変数を Y または YES に設定すると、X Window を使用するほかの条件が設定されているという前提で、デバッグ対象は X Window を入出力に使用できます。 この変数を N または NO に設定すると、X Window をデバッグ対象に使用できません。 この変数のデフォルト値は YES です。 |
DER_DBG_ ALWAYS_FOLLOW_PARENT | これは、UNIX プラットフォームにのみ適用されます。
この変数を Y または YES に 設定すると、fork が発生してもデバッガー・エンジンは親プロセスのデバッグを サイレントで強制的に続行します。 デフォルトの振る舞いでは、停止して、デバッグするプロセスをユーザーに尋ねます。 |
DER_DBG_ NO_LIBPTHDEBUG | これは、AIX にのみ適用されます。
この変数を Y または YES に設定すると、 エンジンは pthread ライブラリーの存在を無視し、カーネル・スレッドのみを表示します。 |
エンジンとユーザー・インターフェースの間にファイアウォールがある場合、適切なファイアウォール規則を指定してエンジンとユーザー・インターフェース間で通信が行えるようにする必要があります。
ファイアウォールのロケーション | ファイアウォール規則の変更 |
---|---|
ユーザー・インターフェース | ファイアウォールは ユーザー・インターフェース・ポート (-quiport によって指定された ポート) を渡す必要があります。 ユーザー・インターフェースは、このポートに TCP/IP サーバーを開きます。 |
エンジン | ファイアウォール規則を変更する必要はありません。 このエンジンは TCP/IP クライアントです。 |