繁体   English   中英

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

[英]Debug .NET Framework Source Code in Visual Studio 2012?

我正在使用Visual Studio 2012.我想调试.NET Framework源代码。 我已经尝试了几乎所有的选项,但我仍然得到There is source code available for Current Location 符号已成功加载。 我已经尝试加载Microsoft Symbol Server并尝试了这个URL 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源代码?

此功能在VS2010 SP1中被破坏,它也可能在VS2012中被破坏。 或者Microsoft可能会为最新的.NET Framework版本发布不正确的PDB文件(之前已经发生过这种情况)。 尝试其他解决方案 我正在使用.NET Reflector VSPro - 它允许反编译程序集,在调试期间加载反编译的符号,并为这些反编译的程序集使用完整的调试功能。

调试.NET Framework源很长时间都被破坏了。 请参阅VisualStudio UserVoice上的相关建议允许开发人员逐步浏览.NET Framework源代码 好消息:它终于被修复了! 请参阅Microsoft的以下博客文章:

.NET参考源的新外观

简而言之:

它目前是“测试版”。 最终它将取代http://referencesource.microsoft.com/ 微软还承诺增加更多组件的来源。

在VS 2008中我能够调试.Net源代码,但是在VS2012中我安装了.NET Reflector(VS扩展),因此它会自动反编译并允许调试任何.Net代码。

另一个开源工具是ilspy.net,它将反编译的程序集保存为C#项目,您可以使用调试工具。

还有用于Windows的调试工具,作为SDK的一部分,但我还没有尝试过: http//msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx

这篇文章描述了如何配置VS符号服务器和dotPeek 1.2来调试VisualStudio中的反编译代码: http ://blog.jetbrains.com/dotnet/2014/04/09/introducing-dotpeek-1-2-early- access-program如果调试框架或其他编译代码是您的日常例程,我建议您从您使用的程序集重建解决方案,这将节省调试器附加期间加载符号的时间。

1)PDB文件不是最新的。 尝试取消选中工具 - >选项 - >调试 - >常规 - >“要求源文件与原始版本完全匹配”

2)您已经引用了另一个项目,将它的dll添加到您的引用中,而不是添加项目作为参考。 尝试删除引用添加从“项目”选项卡添加对项目的新引用

你可以搜索谷歌。它提供的不仅仅是答案

在过去遵循SymbolSource提供的建议的过程中 ,我有很多运气。

如果将它与Resharper结合使用,您将能够通过CTRL单击框架中的方式。

然而,MS没有发布其二进制文件的所有版本的代码有很长的历史 这就是为什么经常调试不起作用的原因。

尽管如此,Resharper似乎在下载源代码方面更加灵活,如果不能,它会给你反汇编的源代码,但却不可判坏。 请注意,JetBrains认为反编译源的调试是dotPeek (Re#附带的反编译器)的一个关键特性 ,所以它可能在不太遥远的未来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM