2017-09-13 43 views
0

我使用VS2017,我得到了以下的時候,我打F5第一次例外 - System.pdb未加載

enter image description here

它發生僅針對特定的項目,即使我禁用下VS選項符號支持。雖然在過去,即使啓用了Symbol支持,它也不會拋出相同的項目。

所以,因爲我認爲這必須是某種緩存VS設置項目特定的,所以我刪除了bin,obj,.vs,SymbolSource文件夾但是相同。

如果我啓用Just My Code,它不會拋出,但是這不是我想要的,因爲我無法調試已經有符號的程序集。

據我所知,即使符號支持已啓用,它不應該拋出,如果沒有在VS選項中聲明相關的符號服務器。

此行爲不是特定於System.dll,但即使我附加到外部進程,我沒有符號,這意味着再次使用Load Only指定的模塊VS選項進行篩選不是我正在尋找。

那麼,有沒有人有一個想法,如何避免這種惱人的例外,同時允許使用符號支持我配置的其他組件。

+1

你問這是否發生。如果它使你惱火,請取消「當此異常被拋出時中斷」複選框。您最好在調試>例外設置中查看一下,很有可能您爲多個例外啓用了此功能。如果您不知道它的含義,請按F1。 –

+0

我想打破,但只有當我有符號,因爲它曾經打破過去。我試圖理解爲什麼現在它在程序集上沒有符號 –

回答

0

這意味着你要在執行到 .NET Framework的源代碼:

http://referencesource.microsoft.com/setup.html

http://referencesource.microsoft.com/indexedpdbs.txt

其實我們也報道這個問題產品團隊VS 2017年之前:

Stepping into .NET Source Still Doesn't Work

如果你真的想避免它,我建議你在工具 - >選項 - >調試下禁用設置,如「啓用.NET框架源碼步進」。

要調試.NET Framework源代碼,我們需要:

禁用只是我的代碼

在性能和運營商

禁用需要的源文件禁止

步驟,完全原始版本匹配

啓用.NET框架源步進

啓用源服務器支持

因此,只需使用上述相反的設置選項,再次調試。

另外,請在工具 - >選項 - >調試 - >符號服務器下啓用符號服務器,並啓用異常設置窗口,查看詳細的異常消息,也許你必須首先解決異常或獲得任何幫助來自它的信息。

+0

>如果你真的想避免它,我建議你在工具 - >選項 - >調試下禁用諸如「啓用.NET框架源代碼步進」的設置。 它已被禁用,但仍然throowing –

+0

@Apostolis Bekiaris,只是在這個問題上添加其他建議,如果可能的話,你可以在上面的答案中查看它。如果仍然沒有幫助,你能分享一個簡單的示例使用一個驅動器?所以我們可以使用與您相同的樣本在我們身邊進行調試。 –