ダイレクト・データベース・デバッグ・モード

ダイレクト・データベース・デバッグ・モードでは、サーバー・エクスプローラでPL/SQLプログラム・ノード、またはPL/SQLプログラム・ソース・ウィンドウのいずれかで「Step Into」コマンドを使用して、PL/SQLプログラムをデバッグできます。

PL/SQLプログラムがOracle Developer Toolsで更新され、まだデータベースに保存されていない場合は、デバッグを開始する前にOracle Developer ToolsによりPL/SQLプログラムが保存および再コンパイルされます。

この項の内容は次のとおりです。

ダイレクト・データベース・デバッグ・モードの要件

ダイレクト・データベース・デバッグを使用する前に、「PL/SQLデバッグの設定」にリストされているすべての設定要件を実行します。

PL/SQLプログラムのダイレクト・デバッグ

この項では、PL/SQLプログラムのダイレクト・デバッグを実行する方法について説明します。「Step Into」コマンドや「Run Debug」コマンドを実行して開始できます。

「Step Into」コマンドや「Run Debug」コマンドのいずれを使用した場合も、Oracle PL/SQLデバッガが起動されます:

  • Step Into

    デバッグ中のプログラムの行で停止します。

  • Run Debug

    デバッグ中のプログラムまたはこのプログラムによってコールされたプログラムで検出されたブレークポイントで停止します。

    プログラムがリリース用にコンパイルされ、デバッグ情報付きで再コンパイルしない場合、デバッグ情報付きでコンパイルされたコール先のプログラム内で検出されたブレークポイントで実行が停止します。

    ノート:

    トリガーをデバッグする場合は「Step Into」は使用できません。トリガー内にブレークポイントを設定し、「Run Debug」を実行してください。トリガーが起動されると、トリガー内で実行が停止します。

PL/SQLプログラムのデバッグを開始するには、次のいずれかを行います:

  • サーバー・エクスプローラから: デバッグするプログラムを含むノードを展開し、このプログラムを右クリックして、メニューから「Step Into」または「Run Debug」を選択します。

    パッケージ・メソッドにステップ・インするには、このメソッドを右クリックし、メニューから「Step Into」または「Run Debug」を選択します。

    ノート:

    INまたはINOUTパラメータとしてコンポジット型パラメータを含むすべてのPL/SQLプログラムは、サーバー・エクスプローラから直接実行したり、デバッグすることはできません。これらのデバッグは、PL/SQLラッパーを作成するか、.NETコードからPL/SQLプログラムをコールすることで行うことができます。

  • ソース・ウィンドウから: 右クリックし、メニューから「Step Into」または「Run Debug」を選択します。

    このオプションは、パッケージ・プロシージャまたはファンクションのデバッグには使用できません。かわりにサーバー・エクスプローラを使用します。

実行が停止した場合、PL/SQLプログラムでPL/SQLプログラムのデバッグを続行できます。「PL/SQLデバッガの共通操作」を参照してください。

関連項目

PL/SQLプログラムのリフレッシュ動作 | PL/SQLプログラムのステップ実行

デバッグ情報なしでコンパイルされたPL/SQLプログラムの動作

デバッグ情報付きでコンパイルされていないPL/SQLプログラム上で「Step Into」または「Run Debug」コマンドを実行すると、そのことを示すメッセージ・ボックスが表示され、デバッグ情報付きでコンパイルするかどうかを確認されます。

ユーザーの反応に応じて、Oracle PL/SQLデバッガは次のように動作します:

Cancel: 「Cancel」を選択するかメッセージ・ボックスを閉じると、アクションは実行されず、デバッグ・セッションは取り消されます。

No: 「No」を選択すると、コードが実行され、デバッグ情報付きでコンパイルされません。

実行はPL/SQLプログラムの最初またはブレークポイントで停止しません。ただし、このプログラムが、デバッグ情報付きでコンパイルされている別のPL/SQLプログラムをコールしている場合は、そのプログラム内に設定されたブレークポイントで実行が停止します。

Yes: 「Yes」を選択すると、プログラムはデバッグ情報付きでコンパイルされ、起動し、プログラムの最初で実行が停止します。

関連項目

PL/SQLプログラムのステップ実行