Transact-SQL デバッガ情報の表示
デバッガが特定の Transact-SQL ステートメントで実行を一時停止するたびに、さまざまなデバッガ ウィンドウを使用して現在の実行状態を表示できます。
デバッガ ウィンドウ
デバッガ モードでは、デバッガにより、メイン SQL Server Management Studio ウィンドウの下部に 2 つのウィンドウが開かれます。デバッガをこれら 2 つのウィンドウで、すべてその情報を表示します。それぞれのデバッガ ウィンドウには、ウィンドウに表示される情報のセットを制御するために選択できるタブがあります。左側のデバッガ ウィンドウには、[ローカル]、[ウォッチ 1]、[ウォッチ 2]、[ウォッチ 3]、および [ウォッチ 4] の各タブがあります。右側のデバッガ ウィンドウには、[呼び出し履歴]、[スレッド]、[ブレークポイント]、[コマンド ウィンドウ]、および [出力] の各タブがあります。
注意 |
---|
前の説明は、デバッガ ウィンドウの既定の場所に適用されます。タブは、ドラッグすることでウィンドウ間で移動できます。また、タブのドッキングを解除して新しいウィンドウを作成し、任意の場所に配置することもできます。 |
既定では、これらのタブまたはウィンドウの一部がアクティブになりません。特定のウィンドウを開くには、次のどちらかの操作を行います。
[デバッグ] メニューの [ウィンドウ] をクリックし、目的のウィンドウを選択する。
[デバッグ] ツール バーの [ブレークポイント] をクリックし、目的のウィンドウを選択する。
Transact-SQL 式
式は、変数やパラメータなどの単独のスカラ式に評価される Transact-SQL 句です。左側のデバッガ ウィンドウでは、式に現在割り当てられているデータ値を最大で 5 つのタブまたはウィンドウ ([ローカル]、[ウォッチ 1]、[ウォッチ 2]、[ウォッチ 3]、および [ウォッチ 4]) に表示できます。
[ローカル] ウィンドウには、Transact-SQL デバッガの現在のスコープ内のローカル変数についての情報が表示されます。[ローカル] ウィンドウに表示される式のセットは、一覧の式を追加または削除しない限り変更されません。
4 つの [ウォッチ] ウィンドウには、選択した変数および式に関する情報が表示されます。[ウォッチ] ウィンドウに表示される式のセットは、一覧の式を追加または削除しない限り変更されません。
[クイック ウォッチ] ウィンドウを使用すると、Transact-SQL 式の値を表示した後、その式を [ウォッチ] ウィンドウに保存できます。[クイック ウォッチ] で式を選択するには、[式] ボックスで式の名前を選択または入力します。
式を [ウォッチ] ウィンドウに追加するには、[クイック ウォッチ] ダイアログ ボックスで [ウォッチ式の追加] を選択するか、または [ウォッチ] ウィンドウで空の行の [名前] 列に式の名前を入力します。
[ローカル]、[ウォッチ]、または [クイック ウォッチ] の各ウィンドウで変数にデータ値を設定するには、行を右クリックし、[値の編集] を選択します。[ローカル]、[ウォッチ]、および [クイック ウォッチ] ダイアログ ボックスの [値] 列では、テキスト、XML、および HTML のデータ ビジュアライザがサポートされます。ビジュアライザは、[値] 列の右側の虫眼鏡データ ヒントとして表されます。ビジュアライザを使用すると、データ型に一致するテキスト、XML、または HTML のデータ値を表示できます (たとえば、XML ファイルをブラウザ ウィンドウに表示できます)。
ブレークポイント
[ブレークポイント] ウィンドウでは、現在設定されているブレークポイントを表示および管理できます。詳細については、「Transact-SQL コードのステップ実行」を参照してください。
呼び出し履歴
[呼び出し履歴] ウィンドウには、現在の実行場所が表示されます。また、実行が元のエディタ ウィンドウから Transact-SQL モジュール (関数、ストアド プロシージャ、またはトリガ) 経由で現在の実行場所まで、どのように渡されたかについての情報も表示されます。[呼び出し履歴] ウィンドウの各行はスタック フレームと呼ばれ、次のいずれかの項目を表します。
現在の実行場所
1 つのモジュールから別のモジュールへの呼び出し
エディタ ウィンドウから Transact-SQL モジュールへの呼び出し
スタックの順序は、モジュールが呼び出された順序の逆順になっています。現在の実行場所はスタックの最上部に表示され、元の呼び出しは最下部に表示されます。スタック フレームの左余白の黄色の矢印は、デバッガが実行を一時停止したフレームを表します。
[名前] 列には、次の情報が記録されます。
次のレベルへの呼び出しを行ったコード行を含む呼び出し元のモジュール。
スタック上の次のモジュールを呼び出したコード行。
パラメータを受け取るストアド プロシージャまたは関数が呼び出された場合、すべてのパラメータについて、名前、データ型、および値も表示されます。
[ローカル]、[ウォッチ]、および [クイック ウォッチ] の各ウィンドウ内の式は、現在のスタック フレームに対して評価されます。既定では、現在のスタック フレームは、デバッガが実行を一時停止したスタック内の最上位のフレームです。別のスタック フレームを現在のフレームとして指定した場合、[ローカル]、[ウォッチ]、および [クイック ウォッチ] の各ウィンドウ内の式は、新しいスタック フレームに対して再評価されます。現在のスタック フレームを変更するには、フレームをダブルクリックするか、またはフレームをクリックし、[フレームに切り替え] を選択します。その時点で、[ローカル]、[ウォッチ]、および [クイック ウォッチ] の各ウィンドウ内の式が新しいフレームに対して再評価されます。現在のスタック フレームがスタック内で最上位のフレームでない場合、現在のスタック フレームは、スタック フレームの左余白の緑色の矢印によって識別されます。
スタック フレームを右クリックし、[ソース コードへ移動] を選択すると、そのフレームのコードがクエリ エディタ ウィンドウに表示されます。ただし、そのフレームは現在のフレームには設定されず、[ローカル]、[ウォッチ]、および [クイック ウォッチ] の各ウィンドウの内容も変更されません。
システム情報および Transact-SQL の結果
[出力] ウィンドウには、デバッガから出力される状態メッセージおよびイベント メッセージが表示されます。たとえば、デバッガがいつ他のプロセスにアタッチしたか、デバッガ スレッドがいつ終了したかなどの情報が表示されます。
デバッグ モードのとき、クエリ エディタの [結果] タブと [メッセージ] タブはアクティブ状態で維持されます。[結果] タブには、デバッグ セッション中に実行された Transact-SQL ステートメントからの結果セットが表示されます。[メッセージ] タブには、システム メッセージ (たとえば "xx 行処理されました") や、PRINT ステートメントおよび RAISERROR ステートメントの出力が表示されます。