web-dev-qa-db-ja.com

Visual Studio 2010スクリプトデバッガーが機能しない

VS 2010 Beta 2をインストールしたばかりで、ASP.NET MVC 2プロジェクトでプレイしたかった。スクリプト(alert('hello');)をHomeコントローラーのindex.aspxビューに追加しただけで、実行を確認できます。ただし、ブレークポイントを設定しようとすると、ヒットしません。また、「debugger」キーワードを使用しようとしましたが、使用すると、「現在の場所に使用できるソースコードがありません」という残念なメッセージが表示されます。また、アプリが実行されているIEプロセスに独立して接続しようとすると、このメッセージが表示されます。

使いやすいスクリプトデバッグエクスペリエンスを得るために何をする必要がありますか? (Firebugを使用してこれをデバッグすることに成功しましたが、何らかの理由でVSデバッガーを好みます。)

ここに私の設定のいくつかの詳細があります:

  • VS 2010 Beta 2でサービスを開始します。
  • IE8バージョン8.0.7600.16385が私のデフォルトのブラウザーです。
  • [スクリプトのデバッグを無効にする(Internet Explorer)]詳細オプションはオフになっています。
  • [スクリプトデバッグを無効にする(その他)]オプションはオフになっています。
  • ASP.NET MVC 2プロジェクトの「Web」プロパティタブで、ASP.NETデバッガーがチェックされています。他のすべてはチェックされていません。
  • Visual Studio 2008のスクリプトデバッグは正常に機能するようです。
35
Chris Farmer

デバッガーは、Silverlightデバッガーが選択されている場合、Silverlightコードとスクリプトコードの両方を同時にデバッグできません。JavaScriptデバッグがオフになっています。

  1. プロジェクトのプロパティに移動します(Alt + Enter)。
  2. Webサイトプロジェクトの場合:[開始オプション]を選択します。またはWeb Applictionの場合:[Web]タブに移動すると、下部に[デバッガー]オプションが表示されます。
  3. JavaScriptをデバッグできるようにする場合は、Silverlightチェックボックスがチェックされていないことを確認してください。 (このUIがこの副作用について明確でないのは残念です。)
30
Mister Cook

私は同じ問題を抱えていました。 IDEを取得できませんでした。スクリプトタグ内に設定されたブレークポイントでさえブレークします。ただし、スクリプトタグの最初の行として「デバッガー」を追加すると、 IDEが応答するが、その場合は、逆境は利用可能ではなかったとのみ言う。

ただし、「ステップイン」や「ステップオーバー」などのデバッグツールをクリックすることはできました。これを行ったとき、IDEは私が使用している外部スクリプト(JQueryおよびGoogleマップ)の一部に進みました。したがって、JavaScriptコードブロックをビューから取り出して、 「Content」フォルダー内の.jsファイルを分離し、この新しい.jsファイルを参照するスクリプトタグを追加しました(url = "/Content/Test.js")。

それはうまくいきました...この努力をしなければならないことは少し面倒ですが、JavaScriptがビューに直接含まれていないことについて言うべきことがあるかもしれません。これが彼らが修正しようとしているバグであることを願っています。

7
Ryan Pedersen

IEでデバッグすると、VSはソリューションエクスプローラーに「Script Documents」というフォルダーを追加するようです。このフォルダー内には「Windows Internet Explorer」と呼ばれる別のフォルダーがあり、その中にはロードされたすべてのjsスクリプトとIEで現在表示されている(コンパイルされた)HTMLファイルがあります。このHTMLファイルのスクリプトタグにブレークポイントを設定すると、うまくいきます。

4
clau137

これを解決するには、プロジェクトのプロパティに移動し、「開始オプション」を選択します。次に、[ネイティブコード]チェックボックスをオンにします。両方のオプションが連動しないため、Silverlightチェックボックスをオフにします。

2

Ctrl + Alt + P(プロセスにアタッチ)、IEを選択、デバッグタイプに「スクリプト」を選択します。

1
popester

ライアンが上記のように、スクリプトをScriptsフォルダーの下の別のファイルに移動しました。また、スクリプトの名前にデバッグを追加して、MyTestScriptになりました。debug。js。スクリプトタグを介してスクリプトを含めると、デバッガーがヒットしたスクリプトファイルにブレークポイントを設定できます。

0
frjames

Google Chrome devloperツールはJavaScriptを完全に表示します。私の場合、通常はjQueryのgetScript関数を使用してスクリプトを読み込み、コードの実行は通常jQueryを使用します。ページの読み込み時またはイベントの処理時のコールバック。VisualStudio 2010では、「ソースなし」バグに頻繁に遭遇しました。悲しいことに、Visual Studioプロジェクトの一部であるJavaScriptをデバッグするためにChrome.

0
CraigAP

別のjsファイルを使用すると、欠点があります。たとえば、MVCヘルパーは使用できません。マイクロソフトは本当にこれを理解する必要があります。

Intellisenseは、次のような参照コメントを含めても、ビューのスクリプトブロックでは正しく機能しません。

/// <reference path="/Scripts/jquery-1.6-vsdoc.js" />
/// <reference path="/Scripts/jquery-1.6.js" />

ただし、Intellisenseは、このアプローチを使用してjsファイルで正常に機能します。

0
Frank Hoffman