Visual Studio 2010 - 无法逐步执行.NET Framework 4源代码(PresentationCore.dll)

8
问题:我正在System.Windows.Interop.HwndKeyboardInputProvider的FilterMessage方法中得到一个nullref,我真的很想尝试调试它,但是没有能够通过源代码进行调试,我不确定该怎么做。 我已经尝试过将Visual Studio 2010配置为允许我调试.NET Framework源代码(特别是PresentationCore.dll中的System.Windows.Interop.HwndKeyboardInputProvider的FilterMessage方法)。我在获取我的visual studio显示用于调试的.NET源代码方面遇到了麻烦。我已经尝试过各种不同的文章/博客条目,但似乎什么都没有起作用。我尝试过的方法:
在VS2010的选项->调试菜单中,启用“启用.NET Framework源代码调试”,启用“启用源服务器支持”,禁用“要求源文件与原始版本完全匹配”,按照此处的说明操作:(http://blogs.microsoft.co.il/blogs/arik/archive/2010/07/12/step-into-net-framework-4-0-source-code.aspx),安装参考源并设置VS使用随参考源提供的符号文件,以及基于在线文章/博客条目的其他几次尝试。使用该方法,我可以在我的模块窗口中看到PresentationCore.dll的符号正在加载,但是当我尝试调试时,仍然会出现“没有可用的源代码”窗口。模块窗口显示从我安装.NET 4参考源的路径加载符号: enter image description here

调用栈显示似乎我应该能够进入PresentationCore.dll的System.Windows.Interop.HwndKeyboardInputProvider.FilterMessage方法:

enter image description here

"无可用源代码"窗口,禁用了“浏览以查找源”功能:

enter image description here

我真的不知道还有什么别的办法可尝试吗?


你是否取消了“启用仅限我的代码”? - Ilian
是的,“仅限我的代码”已禁用(它与“启用 .NET Framework 源代码调试”互斥)。 - Jordan0Day
查看您的Windows更新历史记录,检查最近是否收到了.NET 4安全更新。它需要一段时间来更新源服务器。 - Hans Passant
@HansPassant,唉,我担心问题可能与框架更新有关。 我最近的.NET更新似乎是从七月份开始的,所以希望源服务器比那更加更新 :( - Jordan0Day
奇怪,上周还有一个。我不知道,我也从来没有运气好过。 - Hans Passant
你正在运行VS2010 SP1吗?如果是这样,那么你使用的是“4.0.30319 SP1Rel”,它与你从参考源站点下载的“.Net 4”不匹配。请参见:Visual Studio 2010 SP1参考源 - Rick Sladkey
1个回答

2

可能的原因之一是确保.Net程序集与项目中设置的版本相同。我遇到了相同的问题,因为项目中设置的.Net版本为3.5,而源代码使用的是4.5版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接