這是我已經試過:如何在Visual Studio 2017中調試.NET 4.6框架源代碼?
做了一個新的控制檯應用程序(.NET框架)在Visual Studio 2017年
添加以下代碼:
static void Main(string[] args)
{
new Dictionary<int, int>().TryGetValue(3, out int x); //I want to step into TryGetValue() (this is just an example)
}
確認符號被裝載在模塊窗口:
mscorlib.dll符號加載。 4.6.1586.0通過內置:NETFXREL2
嘗試: 「進入(F11)」
嘗試: 「走進特殊」 | 「System.Collections.Generic.Dictionary.TryGetValue」
兩者都只是跨越了界限。
我試着在這裏使用的細節配置VS:http://www.symbolsource.org/Public/Home/VisualStudio
同樣的結果,過線的調試步驟。
我看了答案在這裏:https://stackoverflow.com/a/12432029/297451
但這個版本似乎並沒有成爲一個安全更新,而對於「網站:support.microsoft.com/kb 4.6.1586.0」的搜索率沒有。
我在做什麼錯?
工作得很好,看起來像參考源碼符號服務器實際上更新到4.6.2。我得到的mscorlib.dll的散列碼是BEC17127F5324AE795428E84A11901182。使用我記錄的[此處](http://stackoverflow.com/a/27655501/17034)的故障排除過程。必要時清空緩存。 –
@HansPassant刪除緩存的PDB解決了第一個問題,謝謝(我有一個剝離的PDB?如何判斷?)現在我可以進入函數,但它是「Dictionary [from metadata]」,而不是源代碼。我有相同的散列BEC17127F5324AE795428E84A11901182。 – Jon
@HansPassant我仍然有一個問題,因爲它不通過源代碼。 「來自元數據的字典」僅僅是界面,而不是實現。它應該從源服務器按需獲取代碼。 – Jon