如何调试System.Web.dll?

How to debug System.Web.dll?

我想看看 System.Web.dll 在 ASP.NET MVC 应用程序中发生了什么。

我有 VS 2017 和 ASP.NET MVC 应用程序。我为 System.Web.dll 加载了调试符号。之后,调用堆栈的颜色从灰色变为黑色。但是,如果尝试单击 System.Web.dll 的调用堆栈中的任何行,则不会显示源代码,而是显示消息:此模块的调试信息中缺少源信息 (screenshot)

我想查看和调试 System.Web.dll 的代码。有人可以帮我吗?谢谢!

第 1 步: 您可以在link

下载System.Web.dll的源代码

https://github.com/microsoft/referencesource

步骤 2:将 System.Web 的项目添加到您的解决方案

第 3 步:从解决方案的参考中删除 System.Web.dll。

步骤 4: 添加 > 参考 > Select 解决方案选项卡 > Select 项目 > System.Web 项目

第 5 步: 重建并在 System.Web 源代码中设置断点以进行调试

感谢 Lance Li-MSFT 我解决了问题!

你给的link,第一步说"Ensure https://referencesource.microsoft.com/ contains the exact version you're debugging"。在我的应用程序中使用了 4.6.1 版,但 referencesource.microsoft.com 引用了 4.8 版。

安装 4.8 版后一切正常!

感谢大家的帮助!