2013年2月22日更新:Microsoft Connect条目包含来自Alok Shriram(程序管理器,基类库,.NET Framework)的注释,现在应该解决该问题.Connect条目标记为已解决(已修复):
现在应该修复此问题.我们发布了参考资料的更新.如果您的问题仍未解决,请告知我们.
一年半.
如何在Visual Studio 2010中启用.NET框架源步进?
注意:这个问题是一个更大的整体:
- .NET 2.0 WinForm:支持DPI和默认字体更改
- 在ScaleControl期间,WinForms控件不会缩放
- VS2010:如何启用"启用.NET Framework源步进"?
- Visual Studio 2010 Professional:如何访问模块窗口?
- Visual Studio 2010:将项目重新定位到.NET Framework 3.5后,Properties.Settings中断了
Visual Studio 2010附带了一项新功能:

按照MSDN页面上的说明操作如何:调试.NET Framework源:
启用.NET Framework源调试
在" 工具"菜单上,单击" 选项".
在" 选项"对话框中,单击" 调试"类别.
在" 常规"框中,选中以下复选框:
- 启用.NET Framework源步进
- 启用源服务器支持
我这样做:

注意:您将注意到,正如MSDN页面所述,并且正如我所注意到的那样,检查启用.NET Framework源步进将自动取消选中**启用我的代码(仅管理).我还启用了源服务器支持的诊断消息.
启用这些选项会自动为我设置符号缓存下载位置:

注意:Microsoft Symbol Server条目已存在(并且无法删除).
MSDN页面说加载符号:
使用"模块"窗口加载框架符号 …
我正在使用Visual Studio 2013并拥有一个.NET 4.5.2项目.我根据以下页面设置了我的设置:
http://referencesource.microsoft.com/setup.html
通过此设置,我可以看到所有必需的符号都已下载并加载,但我无法进入如下代码:
var cookieContainer = new System.Net.CookieContainer();
Run Code Online (Sandbox Code Playgroud)
我收到源不可用消息.
我可以很好地进入下面的代码:
Console.WriteLine("test");
Run Code Online (Sandbox Code Playgroud)
您是否知道为什么我可以从mscorlib.dll进入代码但无法从System.dll进入代码?
我正在尝试通过单击堆栈跟踪来调试System.Net.Http.Formating.dll:
System.Net.Http.Formatting.dll!System.Net.Http.Formatting.JsonMediaTypeFormatter.WriteToStreamAsync.AnonymousMethod__c()
Run Code Online (Sandbox Code Playgroud)
我的"只是我的代码已禁用",我有以下符号服务器:
https://nuget.smbsrc.net
http://localhost:33417/ (dot peek)
Microsoft Symbol Server
Run Code Online (Sandbox Code Playgroud)
我确实有pdb可用,但是我得到以下错误/图像.
如何正确克服它?
为什么在Visual Studio中调试第三方源代码会如此麻烦?