デバッガーのコマンドと機能に関する制約
このトピックの内容は、次の製品に該当します。
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
Visual Studio Transact-SQL デバッガーには、一般的なデバッグ機能が多数備えられていますが、すべてではありません。Transact-SQL デバッグでは、ブレークポイントの設定やステップなど、ほとんどのデバッガー コマンドがサポートされています。変数や渡されるパラメーターの値は、[ローカル] ウィンドウで表示できます。また、式を [ウォッチ] ウィンドウにドラッグして、プロシージャを実行またはステップ実行するときに式を追跡できます。
ただし、SQL Server 自体の基本的な特性のために、Transact-SQL のデバッグは非常に特殊な環境で行われることになります。この特殊性から、Transact-SQL デバッグには制限事項がいくつか適用されます。
SQL Server でのデバッグ時の一般的な制限事項
[編集] と [続行] は使用できません。
[呼び出し履歴] ウィンドウでは、[カーソル行の前まで実行] を使用できません。
Transact-SQL ステートメントの処理中は、[中断] を使用できません。
SQL PRINT ステートメントの出力は、デバッガーまたはデータベース出力ペインには表示されません。
Visual Studio では [AutoRollback] を使用できません。データが変更されるバグを再現すると、データが変更されるためバグを見失う可能性があります。
いくつかのウィンドウが使用できなくなるか、機能しなくなります。その対象を次に示します。
メモリ
レジスタ
Transact-SQL 用逆アセンブル
Transact-SQL デバッグの制限事項
ブレークポイント条件およびフィルター処理は、サポートされていません。
SQL Server には厳密な意味でのメモリとレジスタがないため、[メモリ] ウィンドウと [レジスタ] ウィンドウは使用できません。
[次のステートメントの設定] を使用して実行シーケンスを変更することはできません。Transact-SQL コードのフロー制御とステートメントの順序に従う必要があります。代替手段として、Transact-SQL コード ブロックを制御ステートメントで囲み、変数値を変更できます。
Transact-SQL オブジェクト内部からは、.NET Framework の変数とプロパティにアクセスできません。
[イミディエイト] ウィンドウは表示されますが、値に変数を設定したり、データベースに対してクエリを実行したりするなど、有効な機能を使用できません。
いくつかのウィンドウが使用できなくなるか、機能しなくなります。それらの留意事項を次に示します。
逆アセンブル
スレッド
レジスタ
プロセス
モジュール