以下のスクリーンショットのように、JavaScriptのコードブロックにブレークポイントを設定することができます。どうすれば使用できますか? VSは常に無視します。
デバッグ時にInternetExplorerがブラウザーとして設定されている場合、理論的には、VisualStudioはクライアント側のスクリプトで設定されたブレークポイントで停止できます。この機能を使用するには、IEインターネットオプション、詳細設定]タブで[スクリプトのデバッグを無効にする]がオンになっていることを確認する必要があります。
ただし、VSスクリプトのデバッグは少し不安定であることがわかりました。特にVS2010以前では、ブレークポイントが常にヒットするとは限りません。私の個人的な経験では、VS2012以降で最適に動作します。
そうは言っても、クライアント側のスクリプトデバッガーとしてVSを使用していて、クライアント側のブレークポイントがヒットしていないことがわかった場合は、「デバッガー」を挿入するのが最善です。 VSスクリプトデバッガーによって確実に取得されるようにするために、ブレークしたい行の前の行。
pennstatephilは、この件に関する詳細情報を実際に提供する上記のリンクを投稿しました: http://msdn.Microsoft.com/en-us/library/7seh8d72.aspx
編集:コメントを追加することはできませんが、IEを使用する理由に関するsb9のコメントに応えて、ポストバックが発生する前のスクリプトの動作とポストバックの直後に発生するサーバー側の動作を調査する場合、VisualStudioでのデバッグの方がはるかに便利です。 。また、VS/IEの組み合わせで、ChromeおよびFirefox/Firebugが無意味なエラーメッセージで報告するエラーをキャッチすることがあります。
デバッガーがブレークポイントで停止できない別のシナリオは、バンドルを使用する場合です。 JavaScriptファイルをデバッグするには、バンドルを削除する必要があります。
これが誰かの助けになることを願っています。
これが発生する理由には、一見無限の可能性があります。何時間も検索した後、この問題を解決しました。
私の特定の問題は、同僚がバンドルを有効にした直後にブレークポイントが無効になったということです( ここの説明を参照 )。 BundleConfig.csファイルにアクセスして、次の行をコメントアウトする必要がありました。
BundleTable.EnableOptimizations = true;
私がそれをした後、彼らは殴られました。展開のために、その行を再度追加する必要があります。