在Visual Studio 2012中调试.NET Framework源代码?

时间:2013-03-03 12:36:42

标签: c# asp.net .net visual-studio visual-studio-2012

我正在使用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.aspxhttp://msdn.microsoft.com/en-us/library/cc667410.aspx

此后,http://blogs.msdn.com/b/dotnet/archive/2012/08/15/announcing-the-release-of-net-framework-4-5-rtm-product-and-source-code.aspx

是否有人能够在VS 2012中使用DEBUG .NET Framework源代码?

6 个答案:

答案 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#附带的反编译器)的调试,因此可能会在不久的将来进行。

相关问题