JavaScriptタグが含まれている.CSHTMLファイルがあります。このスクリプトタグ内には、数行のJavaScriptがあります。 JavaScriptの最初の行は、@ ViewBagのプロパティを参照しています。他のすべてのjavascript行は、MVC関連の参照のないプレーンスクリプトです。
観察:これらの各JavaScript行にブレークポイント(ビジュアルスタジオ2015)を配置できます。ただし、すべてのブレークポイントでは、@ ViewBag参照のある行を除いて、ブレークポイントシンボル(赤い円)の中心に白い点があります(この特定の行の中心に白い点はありません)。
実行時に白い点のないブレークポイントのみがヒットしたようです。
質問:ここで何が起こっているのか誰かが説明できますか?白い点はどういう意味ですか?プレーンな赤いブレークポイント行がブレークポイントにヒットしている唯一の行であるのはなぜですか?
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
}