web-dev-qa-db-ja.com

CSHTMLのJavaScriptのブレークポイント?

JavaScriptタグが含まれている.CSHTMLファイルがあります。このスクリプトタグ内には、数行のJavaScriptがあります。 JavaScriptの最初の行は、@ ViewBagのプロパティを参照しています。他のすべてのjavascript行は、MVC関連の参照のないプレーンスクリプトです。

観察:これらの各JavaScript行にブレークポイント(ビジュアルスタジオ2015)を配置できます。ただし、すべてのブレークポイントでは、@ ViewBag参照のある行を除いて、ブレークポイントシンボル(赤い円)の中心に白い点があります(この特定の行の中心に白い点はありません)。

実行時に白い点のないブレークポイントのみがヒットしたようです。

質問:ここで何が起こっているのか誰かが説明できますか?白い点はどういう意味ですか?プレーンな赤いブレークポイント行がブレークポイントにヒットしている唯一の行であるのはなぜですか?

16

Visual Studioデバッガーは実際には、クライアント側のJavaScriptではなく、.cshtmlファイル内の実際のサーバー側のコードをデバッグすることを期待しています。

IIRC、Visual Studioを使用すると、Internet Explorer(および場合によってはEdge)でJavascriptコードを期待どおりにデバッグできますが、他のブラウザーでは、ブラウザー内でサードパーティツールまたは開発者ツール(F12)のいずれかを使用する必要があります。

簡単な方法は、JavaScriptの debugger キーワードを利用することです。これは、コードに配置して、開発者ツールを開いた状態で実行できます(F12を押してページを更新するだけです)。それはブレークポイントにヒットし、ブラウザーは期待通りにコードをステップ実行できるようにします。

function doWork(){
    // Ensure that this line is hit with the Developer Tools open in your 
    // browser
    debugger;
    // Do work here
}
14
Rion Williams

Webアプリケーションを実行すると、ソリューションエクスプローラーに動的スクリプトオブジェクトであるファイルの新しいグループが表示されます。通常、JSコードをそこで見つけ、実行後にブレークポイントを作成できます。

enter image description here

「空白」をクリックすると、動的に読み込まれたバージョンのcshtmlページが表示され、ブレークポイントを追加できます。

0
Jason Kelley