デバッグ情報の確認
Oracle PL/SQLデバッガをブレーク・モードで使用すると、Visual Studioのデバッグ・ウィンドウを通じてデバッグ情報を確認できます。この項では、異なるコンテキストでの変数のウォッチに使用するウィンドウについて説明します。次にOracle PL/SQLデバッグで使用する他のウィンドウについて説明し、サポートされていないデバッグ・ウィンドウをリストします。
変数のウォッチ
この項では、情報のウォッチまたは値の評価に使用するウィンドウについて説明します。次に、コンパイルに関する特別な要件やサポートされるデータ型など、すべてのウィンドウに共通の情報について説明します。
-
ウォッチ・ウィンドウ
PL/SQLプログラムの変数またはパラメータを評価または変更できます。
次の2つの方法でウォッチ・ウィンドウに変数を追加できます:
-
ウォッチ・ウィンドウの「Name」列で空白の行をダブルクリックし、選択した行に変数名を入力して[Enter]キーを押します。
-
PL/SQLプログラム・ソース・ウィンドウで、PL/SQLの変数にカーソルを置き、PL/SQLプログラム・ソース・ウィンドウ上で右クリックしてメニューから「Add Watch」を選択します。
ウォッチ・ウィンドウにアクセスするには、「Debug」メニューから「Window」を選択してウォッチ・ウィンドウを選択してください。
-
-
クイックウォッチ・ダイアログ・ボックス
クイックウォッチ・ダイアログ・ボックスを使用すると、PL/SQLプログラムの単一の変数またはパラメータを簡単に評価または変更できます。
クイックウォッチ・ウィンドウにアクセスするには、ソース・ウィンドウでPL/SQL変数にカーソルを置き、ウィンドウを右クリックしてメニューから「QuickWatch」を選択します。
-
ローカル・ウィンドウ
ローカル・ウィンドウを使用すると、PL/SQLプログラムのローカル変数またはローカル・パラメータを表示できます。
ローカル・ウィンドウにアクセスするには、「Debug」メニューから「Window」を選択してローカル・ウィンドウを選択してください。
-
自動変数ウィンドウ
自動変数ウィンドウを使用すると、現在の文および以前の文で使用している変数を表示できます。
自動変数ウィンドウにアクセスするには、「Debug」メニューから「Window」を選択して自動変数ウィンドウを選択してください。
オブジェクト、VARRAYおよびネストした表タイプの評価
デバッグ情報付きでオブジェクトをコンパイルして、デバッガでオブジェクトの値を評価できるようにします。
サーバー・エクスプローラから、「User Defined Types」ノードを展開し、オブジェクト・タイプ・ノードを右クリックし、「Compile Debug」を選択するか、オブジェクト・タイプの仕様または本体を表示するPL/SQLエディタを右クリックしてメニューから「Compile Debug」を選択します。
パッケージ変数の評価
パッケージ変数を評価するには、パッケージをデバッグ情報付きでコンパイルする必要があります。
サーバー・エクスプローラから、コンパイルするプログラムを含むノードを展開して、このプログラムを右クリックすると、メニューから「Compile Debug」を選択します。
評価されないデータ型
次のデータ型は評価できません:
-
REFCURSOR -
SYS_REFCURSORなど、事前定義された弱い型指定のREFCURSOR型 -
REFオブジェクト -
CURSOR -
XMLType -
ANYTYPE
Oracle変数の型
ここで説明するウィンドウ(ウォッチ・ウィンドウ、クイックウォッチ・ダイアログ・ボックス、ローカル・ウィンドウ、自動変数ウィンドウ)には、次のようにウォッチされる変数の名前、値、型が表示されます:
-
Oracleスカラー型:
この型にはデータ型の名前が含まれています。
-
複合データ型:
複合データ型の値はツリー・ビューとして展開できます。
複合データ型の属性:
各属性およびメンバーの名前、値、型が含まれています。
-
Oracleパッケージ変数:
パッケージはツリー・ビューとして展開できます。各パッケージ変数の名前、値、型がパッケージ・ノードの下に含まれています。
ノート:
変数やパラメータの値の表示形式は、データベースのNLS設定に基づきます。
ローカル、ウォッチ、クイックウォッチおよび自動変数の各ウィンドウでサポートされるデータ型
次の表に、ローカル、ウォッチ、クイックウォッチおよび自動変数の各ウィンドウでサポートされるデータ型と、対応する型および値の表示形式を示します。
表7-1にスカラー型を示します。
表7-1 スカラー型
| データ型 | 型の情報 | 値の表示形式 |
|---|---|---|
|
|
|
数値文字列 |
|
|
|
|
|
|
|
数値文字列 |
|
|
|
数値文字列 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
数値文字列 |
|
|
|
数値文字列 |
|
|
|
|
|
|
|
|
|
|
|
数値文字列 |
|
|
|
数値文字列 |
|
|
|
数値文字列 |
|
|
|
|
|
|
|
数値文字列 |
|
|
|
|
|
|
|
文字列値 |
|
|
|
文字列値 |
|
|
|
文字列値 |
|
|
|
文字列値 |
|
|
|
文字列値 |
|
|
|
文字列値 |
|
|
|
文字列値 |
|
|
|
文字列値 |
|
|
|
文字列値 |
|
|
|
文字列値 |
|
|
|
文字列値 |
|
|
|
文字列値 |
|
|
|
文字列値 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
文字列値 |
|
|
|
文字列値 |
表7-2に複合データ型を示します。
表7-2 複合データ型
| データ型 | 型の情報 | 値の表示形式 |
|---|---|---|
|
|
オブジェクト型の名前( |
オブジェクト型を展開して属性の値を表示できます |
|
|
レコード・タイプ名 |
レコード・タイプを展開して属性の値を表示できます |
|
|
結合配列型の名前 |
配列型を展開して要素の値を表示できます |
|
|
オブジェクト・タイプ名 |
配列型を展開して要素の値を表示できます |
|
|
オブジェクト・タイプ名 |
配列型を展開して要素の値を表示できます |
表7-3にLOB型を示します。
表7-3 LOB型
| データ型 | 型の情報 | 値の表示形式 |
|---|---|---|
|
|
|
255バイトの値 |
|
|
|
255バイトの値 |
|
|
|
255文字の値 |
|
|
|
255文字の値 |
PL/SQL変数およびパラメータの評価および変更
ウォッチ・ウィンドウでは、PL/SQL変数の評価に加え、変数の値の変更を行うこともできます。次の例のように、値を表示して編集できます。[Enter]キーを押すと変数の値が指定した値に変更されます:
スカラー型:
x Number(4,2)
複合型:
create type personType as object ( name varchar2(128), age NUMBER(4) ) NOT FINAL; x persontype;
xを展開すると、デバッガにxの属性情報が表示されます。
パッケージ・タイプ:
CREATE OR REPLACE PACKAGE TESTPACK AS
PACK1 Number;
PACK2 NUMBER;
PROCEDURE TEST;
END TESTPACK;
TESTPACKを展開すると、パッケージ変数の値を表示できます。
コール・スタック・ウィンドウの表示
コール・スタック・ウィンドウには、スタック内のプログラムが表示されます。
コール・スタック・ウィンドウのコンテキスト・メニューを使用してコール・スタックのプロパティを有効または無効にできます。
プロパティ
コール・スタック・ウィンドウでは次のプロパティがサポートされています:
| プロパティ | 説明 |
|---|---|
|
Show Parameter Names |
現在のコール・スタックのPL/SQLプログラムのパラメータ名。 |
|
Show Parameter Values |
現在のコール・スタックのPL/SQLプログラムのパラメータの値。現在、Oracle PL/SQLデバッガでは値の最大30文字までが表示されます。 |
|
Show Parameter Types |
現在のコール・スタックのPL/SQLプログラムのパラメータの型。 |
|
Show Line Number |
現在のコール・スタックの行番号。 |
スレッド・ウィンドウの表示
Visual Studioのスレッド・ウィンドウには、PL/SQLデバッグ・プロセスで実行中のスレッドが表示されます。
各スレッドは、Oracle PL/SQLデバッガへのデータベース接続を表します。
ダイレクト・データベース・デバッグ・モードでは、スレッド・ウィンドウに1つのスレッドのみが表示されます。
多層アプリケーション・データベース・モードまたは外部アプリケーション・デバッグ・モードでは、1つ以上のスレッドが表示されます。各スレッドは、アプリケーション・コードから作成されたデータベース接続でデバッグされているPL/SQLプログラムを表します。
スレッド・ウィンドウには次の情報が表示されます:
| 名前 | 説明 |
|---|---|
|
ID |
現在のスレッドID。このIDはOracle PL/SQLデバッガへのデータベース接続を一意に識別します。 |
|
Name |
現在のスレッド名。 |
|
Location |
現在のスレッドの実行場所。 |
|
Priority |
現在のスレッドの優先度。 |
|
Suspend |
現在のスレッドの一時停止回数。 |
デバッガ出力の出力ウィンドウの表示
出力ウィンドウにはPL/SQLデバッグ・セッションのデバッガ出力が表示されます。出力ウィンドウにアクセスするには、「View」メニューから「Other Windows」を選択し、「Output」を選択します。出力ウィンドウには、次のようなデバッグ情報が表示されます:
-
PL/SQLデバッグに使用されているTCPポート番号。
-
データベースがデバッガに接続された時刻を示すメッセージ。
-
データベースがデバッガから切断された時刻を示すメッセージ。
-
Oracle PL/SQLデバッガが開始または終了した時刻。