2012-12-11 18 views
15

ASP.NET MVCプロジェクトでシンボルを読み込む際に問題があります。初めてVisual Studioを読み込んでプロジェクトをデバッグすると、シンボルは約2秒で読み込まれます。私はその後、デバッグセッションを終了し、コードを変更し、再度デバッグして、シンボルの読み込み時間は約1分です。私が行った研究に基づいて、私のマシン/ VSの適用可能な設定をいくつか紹介します:VS2012のASP.NETプロジェクトでシンボルの読み込みが遅くなる

オプション/デバッグ/シンボル/シンボルファイルの場所では、「Microsoft Symbol Servers」はチェックされず、

このディレクトリのオプション/デバッグ/シンボル/キャッシュシンボルは "G:\ Symbol Cache"です。私は "すべてのシンボルをロードする"をクリックして、そのディレクトリを調べて、たくさんのシンボルが見えます。

マイコードが有効になっています。

_NT_SYMBOL_PATHおよび_NT_ALT_SYMBOL_PATH環境変数は、自分のマシンで定義されていません。

オプション/デバッグ/シンボル/自動的にシンボルを読み込むモジュールが指定されたモジュールのみで、モジュールが指定されていません。

私は、デバッグとリリースの両方のビルドを試しましたが、同じ結果が得られました。 Ctrl + F5キーを押すとサイトがすぐに読み込まれます。

+0

私もこの問題に遭遇しています。誰かが答えを出してくれることを願っています... – Trap

+0

VS2012とすべての依存関係をアンインストールし、プログラムファイル内のVS2012フォルダを削除し、VS2012を再インストールし、シンボルサーバからすべてのMSシンボルをキャッシュする(オプション - >デバッグ - >シンボル)。あなたに最高の運があります。 –

+2

うわー、ユーザー961969の解決策はほんの数時間かかります:) – dotsa

答えて

12

Iあまりにもこの問題を抱え、原因私は偶然の「Microsoftシンボルサーバー」

あなたは、「マイクロソフトシンボルサーバー」ツール]> [オプション]> [デバッグ]> [シンボルに行くことによって、それを無効にし、オフにすることができますが有効になっていたことでした

これまでと同じ速さでロードされます。

6

私もこの問題を抱えており、NuGetを介して取得したサードパーティ製のアセンブリにほとんど関連していることに気付きました。このような場合、Visual Studioは元の作成者のマシン(つまり、D:\ OriginalAuthor \ MyVisualStudioProjects \ AwesomeNuGetPackage)に存在するパスからPDBをロードしようとしていましたが、私のマシン上では同じパスが光学ドライブを参照していました。その後、トレイにディスクがない光学ドライブにディレクトリを変更しようとすると、コマンドプロンプトで、非常に長い時間(約30秒)が経過して失敗することが判明しました。これを念頭に置いて、私の解決策はトレイにDVDを置くことでした。その時点で、Visual Studioは、パスが存在しないことを非常に迅速に判断し、PDBの読み込みをスキップし、デバッグに直進できました。

Visual Studioでシンボルの読み込みに時間がかかる場合は、アクセスしようとしているパスの[出力]ウィンドウを見て、コマンドプロンプトを使用してそれらのパスにすばやくアクセスできることを確認します。

セキュリティ/プライバシーに関する興味深い質問が出てきます。明らかに、Visual Studioは元のPBDの絶対パスをアセンブリ内に格納しています。私はこれが超重大な問題ではないと考えていますが、プライバシーの観点からは、私の絶対的なファイルシステムのパスが私の知らないうちに公開されることを本当に望んでいません。

+1

ハハハ... "Visual Studioでデバッグの問題を解決するには、トレイにDVDを入れます"。 +1、これは私の一日を作った:) –

+0

FWIW、あなたがツール - >オプション - >デバッグ - >シンボルの下に特定のDLLのシンボルをロードしようとすることを防ぐことができるように見えるし、 "除外モジュールを指定"をクリックします。 –

+0

私は理由はわかりませんが、正反対のものが私のために働いていました。無関係のDVDを取り出しました。 –

5

このデバッグ - >すべてのブレークポイントの削除を試してください。 私の作品です。

+1

これは私のために働いた。ありがとう! – Lukie

+0

ようこそLUKIE :) –

0

私は2つの.dllを使ってデバッグする必要がないので、読み込みに数分かかることがありました。上記の解決策は役に立たなかった。だから私はOptions - > Debugging - > Symbolsに行き、 "除外されていない限り、すべてのモジュール"のラジオボタンの下に "除外されたモジュールの指定"リンクをクリックします。次に、問題の原因となっている.dllを入力します。

関連する問題