问题:我正在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参考源的路径加载符号:
在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](https://istack.dev59.com/dgGPe.webp)
调用栈显示似乎我应该能够进入PresentationCore.dll的System.Windows.Interop.HwndKeyboardInputProvider.FilterMessage方法:
![enter image description here](https://istack.dev59.com/Gy3j2.webp)
"无可用源代码"窗口,禁用了“浏览以查找源”功能:
![enter image description here](https://istack.dev59.com/j1f8o.webp)
我真的不知道还有什么别的办法可尝试吗?