2009-10-26 15 views
35

VS 2010 Beta 2をインストールしたばかりで、ASP.NET MVC 2プロジェクトでプレイしたかったのです。 Homeコントローラのindex.aspxビューにスクリプト(alert('hello');)を追加するだけで、実行していることがわかります。しかし、ブレークポイントを設定しようとすると、決してヒットしません。私はまた、 "デバッガ"キーワードを使用しようとしましたが、私は失望した "現在の場所に利用できるソースコードがありません"というメッセージが表示されます。私は、私のアプリケーションが実行されているIEプロセスに独立してアタッチしようとすると、このメッセージが表示されます。Visual Studio 2010スクリプトデバッガが動作しません

フレンドリーなスクリプトのデバッグ環境を得るためには、何が必要ですか? (私は正常にこれをデバッグするFirebugのを使用していますが、何らかの理由で私は、VSデバッガを好む。)

をここに私の設定のいくつかの詳細は以下のとおりです。

  • 私はVS 2010ベータ2に私のものを立ち上げています。
  • IE8バージョン8.0.7600.16385が私のデフォルトブラウザです。
  • "スクリプトのデバッグを無効にする(Internet Explorer)"拡張オプションがオフになっています。
  • 「スクリプトのデバッグ(その他)を無効にする」オプションのチェックが外されています。
  • 私のASP.NET MVC 2プロジェクトの「Web」プロパティタブには、ASP.NETデバッガがチェックされています。他のすべてはチェックされていません。
  • Visual Studio 2008スクリプトのデバッグはうまくいくようです。

答えて

30

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

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

私はあなたにキスすることができます。私はSilverlightプロジェクトを添付してasp.netサイトでJavascriptをデバッグしようとしています。私がデバッグしようとするたびに、私はデバッガが既に添付されていると不平を言って、私にデバッガをアタッチするよう求めるポップアップのこの奇妙なサイクルを得ました。明確にするには、ソリューションのasp.netプロジェクトに移動し、プロジェクトのプロパティに移動し、Webタブを開きます。下部には、デバッガが使用するチェックボックスがあります。 Silverlightデバッガを無効にすると、javascriptデバッガが再び動作するようになります。これはwikiエントリーか何かに入る必要があります。 –

+2

** Mister Cook!** – Airn5475

+0

@ mister ok on mvc3/vs2010プロジェクトのプロパティの_Start Options_が表示されません – gideon

1

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

+2

ありがとうございましたが、F5と "デバッガ"キーワードで起動しようとしたときに、同じ場所に "現在の場所にソースコードがありません"というメッセージが表示されます。 –

+0

javascriptで関数を追加して接続し、関数名に基づいて新しいブレークポイントを作成できますか? – popester

7

私は同じ問題を抱えていました。スクリプトタグの中に設定されたブレークポイントでブレークさせるIDEを取得できませんでした。しかし、「デバッガ」を追加したときスクリプトタグの最初の行がIDEに応答させることができたが、disasseblyがavailbleではないと言うだけであったからです。

しかし、「ステップイン」や「ステップオーバー」のようなデバッグツールをクリックすることができました。私がこれをしたとき、IDEは私が使っているいくつかの外部スクリプト(JQueryとGoogle Maps)に進歩しました。そこで、私はJavaScriptコードブロックをビューから取り出し、それを "Content"フォルダ内の別の.jsファイルに入れました。次に、この新しい.jsファイル(url = "/Content/Test.js")を参照するscriptタグを追加しました。

これはうまくいきました...あなたはこの努力を踏まなければならないが、多分JavaScriptがビューに直接含まれていないと言われることがあります。私はこれが修正しようとするバグだと思う。

+0

Thx!チャームのように働いた! +1 – Stephane

0

Ryanが上記のように、私は自分のスクリプトをScriptsフォルダの下の別のファイルに移動しました。 また、スクリプトの名前にdebugを追加して、MyTestScriptにしました。 デバッグ .js。スクリプトタグを使ってスクリプトを組み込み、デバッガがヒットしたスクリプトファイルにブレークポイントを設定することができました。

0

私は、Google Chrome DevloperツールでJavaScriptが完全に表示されていることがわかりました。私の場合、通常はjQueryのgetScript関数をスクリプトにロードしています。コードの実行は、通常、ページのロードやイベントの処理時にjQueryコールバックを使用して行われます。 Visual Studio 2010では、「ソースなし」のバグが頻繁に発生しました。悲しい私は私のVisual Studioプロジェクトの一部であるJavaScriptをデバッグするためにChromeが必要です。

4

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

2

この問題を解決するには、[プロジェクトのプロパティ]で[開始オプション]を選択します。ネイティブコードチェックボックスをオンにします。両方のオプションが一緒に機能しないため、Silverlightのチェックボックスをオフにします。

0

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

インテリセンスはまた、あなたがこのような参照のコメントが含まれていても、ビュー上のスクリプトブロックでは正常に動作しません:

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

インテリセンスは、しかし、このアプローチでのjsファイルで正常に動作します。

関連する問題