私は.NET3.5 Webサイトに取り組んでおり、1つのソリューションの下に3つのプロジェクトがあります。このプロジェクトではjQueryを使用しています。 Visual StudioJavaScriptデバッガーを使用してJavaScriptコードをステップ実行したいと思います。 .jsファイルのいずれかにブレークポイントを設定すると、次のような警告が表示されます。
現在、ブレークポイントはヒットしません。このドキュメントにはシンボルがロードされていません。
これを修正するにはどうすればよいですか? VisualStudioがjQueryコードの一部を解析するのに問題があると思います。最小化されたバージョンのjQuery.js
を拡張されたバージョンに置き換えようとしますが、それで修正されるとは思いません。
Visual Studio 2008でも同じ動作が発生し、シンボルをロードするために数分を費やした後、回避策を使用することになりました。「デバッガー」で行を追加しました。 JavaScriptファイルのコマンド。
debugger;
を追加した後、Internet Explorerでスクリプトを再読み込みすると、スクリプトデバッガーの新しいインスタンスが表示され、デバッガーコマンドで停止してそこからデバッグできます。
このシナリオでは、すでに Firebug でJavaScriptをデバッグしていましたが、InternetExplorerに対してもデバッグしたいと思いました。
インターネットオプションで スクリプトデバッグ をオンにしていることを確認してください。オンになっていると思われる場合は、再確認してください。
同じ問題が発生しましたが、InternetExplorerでブラウザの設定を変更することで解決しました。メニューツール->インターネットオプションに移動し、Advancedタブで、[Disable Script Debugging(Internet Explorer)]と[Disable Script Debugging(Other)]の両方がオフになっていることを確認します。
また、Internet Explorerをデフォルトのブラウザとして設定する必要がありました。これは通常、Firefoxとして設定されています。これを行うには、Visual Studioで、 ソリューションエクスプローラー の参照可能なファイルを右クリックし、[参照...]を選択します。InternetExplorerを選択し、[デフォルトに設定]をクリックします。
他のブラウザでデバッグを実行する方法があるかどうかはわかりませんが、VisualStudioがInternetExplorerでのみNiceを再生しても驚かないでしょう。
また、デバッガーを起動するには、「プロセスにアタッチ」を実行し、IExplorer.exe
を追加する必要がある場合があります。
私はついにこれに対する答えを見つけたと思います。
デバッガーをiexplore.exeプロセスに接続するときは、デバッグの選択肢の1つとして「スクリプト」を選択していることを確認する必要があります。
ここでは赤いボックス内のボタンです: プロセスウィンドウにアタッチするボタンの選択のスクリーンショット
次に、次の画面で、[スクリプト]を選択します。 [コードタイプの選択]ウィンドウのスクリーンショット
これにより、マネージコードとスクリプトを同時にデバッグできないことが警告されますが、マネージコードはサーバーコードであり、代わりにWebプロセス(aspnetまたはw3wp)に接続するため、問題はありません。
VS 2008は、そのページに関連するすべてのスクリプトドキュメント(インラインのもの、評価のものなど)をソリューションエクスプローラーにロードするため、正しく実行したことがわかります。
DOMへのフルアクセスが可能になり、イミディエイトウィンドウが機能するなど。かなり洗練されています。
JavaScriptのデバッグには FireBug を使用することをお勧めします。スピンしてください:)
これらの答えはすべて正しいですが、もう1つ確認することがあります。昨日まで、私は常にVisual Studioの内部からJavaScriptコードをデバッグすることができました( 2012 )。 Silverlight プロジェクトをソリューションに追加し、Silverlightデバッガーをオンにしました。これが私の問題でした。
Webアプリケーションのプロパティページ-> [スタートオプション]->ページの下部で、[Silverlight]がオフになっていることを確認します。実際、私はASP.NETのみをチェックしており、デバッガーはVisualStudioを経由します。
チェックを外すと、デバッガーは「初期化」機能で停止します。
あなたが探すかもしれないもう一つのことはあなたのJavaScriptコードの構文エラーです。それが今日私に起こったことです。コード内の括弧が多すぎるため、シンボルが読み込まれませんでした。 IntelliSenseはほとんどエラーを登録しませんでした。構文エラーを修正すると、すべてが正常に機能しました。
私にとっての解決策は、IEをバージョン9から11に更新することでした。それが誰かに役立つことを願っています。平和!
Visual Studio 201 でも同じ厄介な問題が発生しましたが、デバッガを使用しないJavaScript開発は自殺です。
修正するために行ったのは、ブレークポイントの赤い点を右クリック->ブレークポイントを無効にする、もう一度右クリックして->ブレークポイントを有効にすることだけでした。
これにより、デバッガーは再び魅力のようにJavaScriptで動作するようになりました。
IDEがJavaScriptコードを解析するのを待つ必要があります。しばらく待つと、JavaScriptコードの色が変わるのがわかります。その後、ブレークポイントを追加できるようになります。
ソリューション内で2つ以上のWebプロジェクトを実行していて、異なるWebの同じ場所に同じ名前の複数のスクリプトファイルがある場合、開発Webサーバーが間違ったファイルを提供し、この問題を引き起こす可能性があります。
私の場合、余分なコピーを削除すると問題が解決しました。
これはおそらく明白ですが、私はこれに少しつまずいたので、おそらく他の人もそうするでしょう。 HTML/HTTPを処理するようにInternetExplorerを設定していなかったため、VisualStudioで実行ボタンを押しても起動しませんでした。
代わりに、私はFirefoxを起動していました。 [スタート]ボタン| [デフォルトのプログラム]に移動し、Internet Explorerのすべてのデフォルトを設定すると、他の手間をかけずにVisualStudioでデバッグが開始されました。
これは、ソリューションに複数のWebプロジェクトがある場合にも発生する可能性があります。それらが、異なるポート上の異なるASP.NET開発サーバー(WebDev.WebServer40.exe)インスタンスから提供されている場合でも同様です。
外部JavaScriptファイルでこの問題が発生することがあります。これは、ファイルの古いコピーを保持しているブラウザのキャッシュが原因です。 JavaScriptコードにリンクしているページを強制的に更新すると、この場合の問題が解決します。
もちろん、デバッガーが正しいブラウザープロセスに接続されていることを確認してください。 ;)