这是我已经试过:如何在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