web-dev-qa-db-ja.com

VS 2015でストアドプロシージャをデバッグする方法

私はこれが何度も尋ねられたことを知っています、私はそれらを読みました。ソリューションのすべてのプロジェクトで[SQL Serverデバッグを有効にする]を確認しました。

私のプロジェクト:

  • ASP.NET Webアプリ
  • DALクラスライブラリ。 (DALは、レガシー.dbmlを使用してSP呼び出しラッパーコードを生成します。)いいえORマッパーもプロジェクトで直接ADO.NETを使用しません。
  • SQL Server 11.0.3153

VSでC#コードをデバッグするときに、呼び出されたSPをデバッグしたいと思います。理想的には、SPにステップインする必要がありますが、これがサポートされていない場合は、設定されたブレークポイントでSPを中断します。

残念ながら、どちらも行いません。 SPにブレークポイントを設定した場合、それは塗りつぶされた赤い円ではなく、塗りつぶされていないので、良い兆候ではありません。 (サーバーエクスプローラーでデータ接続を開き、VSエディターでSPを開いて、このブレークポイントを設定しています。

何が欠けていますか?

16
g.pickardou

私の経験と研究に基づく一般的な指示。

  1. Visual Studio(私の場合はコミュニティバージョン)を管理者として実行します(私にとって、VSからのストアドプロシージャのデバッグは、VSが管理者として実行されている場合にのみ機能します)
  2. ソリューションエクスプローラーに移動し、プロジェクトを右クリックして、プロパティに移動します。
  3. [Web]タブをクリックし、SQL Serverがチェックされていることを確認します。保存して閉じます。
  4. [表示]メニュー、[SQL Serverオブジェクトエクスプローラ]の順にクリックします。
  5. SQL ServerオブジェクトエクスプローラーでSQL Serverを展開し、SQL Serverが表示されない場合は、SQL Serverを右クリックして追加します。
  6. 追加したSQL Serverを右クリックし、[アプリケーションのデバッグ]と[SQL/CLRのデバッグを許可する]の両方がオンになっていることを確認します。
  7. 追加したSQL Serverインスタンスを展開し、目的のストアドプロシージャを見つけます。
  8. そのSPを右クリックして、[コードの表示]をクリックします。
  9. 希望の場所にブレークポイントを置きます。
  10. 実行してお楽しみください。

VSを閉じて後で開いた後、VSからストアドプロシージャをデバッグするときに、これらのことのいくつかを行う必要がある場合があります。

40
Reid

私も同じ問題を抱えていました...

[ソリューション構成]ドロップダウンで、選択された構成は[デバッグ(アクティブ)]でした。これを「デバッグ」に変更しました。

変更が加えられた後、デバッガーは正常に動作し、「デバッグ(アクティブ)」オプションがリストから消えました。

Screenshot

0
HGreene