我正在使用Visual Studio 2012.我想调试.NET Framework源代码。我已经尝试了几乎所有的选项,但我仍然得到There is source code available for Current Location
。符号已成功加载。我尝试加载Microsoft Symbol Server并尝试了此网址http://referencesource.microsoft.com/symbols。但我仍然无法进行调查。我尝试过这些链接,http://blogs.msdn.com/b/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx和http://msdn.microsoft.com/en-us/library/cc667410.aspx
是否有人能够在VS 2012中使用DEBUG .NET Framework源代码?
答案 0 :(得分:9)
此功能在VS2010 SP1中被破坏,它也可能在VS2012中被破坏。或者Microsoft可能会为最新的.NET Framework版本发布不正确的PDB文件(之前已经发生过这种情况)。尝试其他解决方案我正在使用.NET Reflector VSPro - 它允许反编译程序集,在调试期间加载反编译的符号,并为这些反编译的程序集使用完整的调试功能。
答案 1 :(得分:9)
调试.NET Framework源很长时间了。请参阅VisualStudio UserVoice Allow developers to step through .NET Framework sources上的相关建议。好消息:它终于被修复了!请参阅Microsoft的以下博客文章:
A new look for .NET Reference Source
简而言之:
它目前是“测试版”。最终它将取代http://referencesource.microsoft.com/。微软还承诺增加更多组件的来源。
答案 2 :(得分:7)
在VS 2008中我能够调试.Net源代码,但在VS2012中我安装了.NET Reflector(VS扩展),因此它会自动反编译并允许调试任何.Net代码。
另一个开源工具是ilspy.net,它将反编译的程序集保存为C#项目,您可以使用调试工具。
还有适用于Windows的调试工具,作为SDK的一部分,但我没有尝试过:http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx
答案 3 :(得分:2)
这篇文章描述了如何配置VS符号服务器和dotPeek 1.2来调试VisualStudio中的反编译代码:http://blog.jetbrains.com/dotnet/2014/04/09/introducing-dotpeek-1-2-early-access-program 如果调试框架或其他编译代码是您的日常例程,我建议您从您使用的程序集重建解决方案,这将节省调试器附加期间加载符号的时间。
答案 4 :(得分:1)
1)PDB文件不是最新的。尝试取消选中工具 - >选项 - >调试 - >常规 - >“要求源文件与原始版本完全匹配”
2)您已经引用了另一个项目,将它的dll添加到您的引用中,而不是添加项目作为参考。尝试删除引用添加从“项目”选项卡添加对项目的新引用
你可以搜索Google。它提供的不仅仅是答案
答案 5 :(得分:1)
根据SymbolSource的建议,我在the procedure之后的运气很快。
如果你将它与Resharper结合使用,你就可以通过CTRL点击你的框架。
然而a long history MS没有发布其二进制文件的所有版本的代码。这就是为什么经常调试不起作用。
尽管如此,Resharper在下载源代码方面似乎更灵活一些,如果不能,它会给你反汇编的源代码,但却不可判坏。请注意,JetBrains会考虑反编译源a critical feature for dotPeek(Re#附带的反编译器)的调试,因此可能会在不久的将来进行。