2012-12-11 42 views
15

我在加載ASP.NET MVC項目中的符號時遇到了問題。我第一次加載visual studio並調試我的項目時,符號在大約2秒內加載。然後結束調試會話,修改代碼並再次調試,符號加載時間大約爲一分鐘。根據我所做的研究,以下是我的機器/ VS上的一些適用設置:在VS2012中的ASP.NET項目中緩慢加載符號

在選項/調試/符號/符號文件位置中,「Microsoft Symbol Servers」未選中,並且沒有其他位置。

此目錄中的選項/調試/符號/緩存符號爲「G:\符號緩存」。我沒有點擊「加載所有符號」,我檢查了該目錄,我看到很多符號。

只是我的代碼已啓用。

_NT_SYMBOL_PATH和_NT_ALT_SYMBOL_PATH環境變量沒有在我的機器上定義。

選項/調試/符號/自動加載符號設置爲「僅指定的模塊」,沒有指定模塊。

我已經嘗試了調試和發佈版本,具有相同的結果。 Ctrl + F5幾乎立即加載該網站。

+0

我也遇到過這個問題,我希望有人想出答案... – Trap

+0

我通過卸載VS2012和所有依賴項,刪除程序文件中的VS2012文件夾,重新安裝VS2012,並緩存來自符號服務器的所有MS符號(選項 - >調試 - >符號)。祝你好運。 –

+2

哇,由user961969解決方案將只需要幾個小時:) – dotsa

回答

12

我也有這個問題,原因是我當時無意中啓用了「Microsoft符號服務器」

您可以通過工具>選項>調試>符號禁用它,取消選中「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,它看起來像你可以防止VS嘗試加載工具 - >選項 - >調試 - >符號下的特定DLL的符號,然後點擊「指定排除模塊」。 –

+0

我不知道爲什麼,但完全相反的工作對我來說。我拍了一張無關DVD。 –

5

試試這個Debug - > Delete All Breakpoints。 它對我的作品。

+1

這對我有用。謝謝! – Lukie

+0

歡迎LUKIE :) –

0

我有2個.dll讓我感到悲傷,我不需要調試開始花費幾分鐘來加載。上述解決方案沒有幫助。所以我去選項 - >調試 - >符號,並在「所有模塊,除非排除」的單選按鈕下單擊「指定排除模塊」鏈接。然後輸入導致問題的.dll文件。