我的目标是调试Asp.net MVC 5.2.3源代码。
但是当我试图“Step Into”控制器的View方法时,我看到“未找到Controller.cs”。当我尝试导航到堆栈跟踪时,我看到“从https://nuget.smbsrc.net/下载源代码”,但源代码没有下载。
是否可以调试Asp.net MVC 5.2.3的源代码?
更新1 我已经改变了符号列表。实际是:
更改后,在模块窗口中存在下一个日志:
https://nuget.smbsrc.net: Symbols downloaded from symbol server.
*****\AppData\Local\Temp\SymbolCache\System.Web.Mvc.pdb\5878BE5BDA9D485C84CA1F292E2AD75E1\System.Web.Mvc.pdb: Symbols loaded.
正如我们所见,pdb文件已加载。但是当我导航到源代码时,它将无法打开。
似乎nuget.smbsrc.net上不存在源代码
答案 0 :(得分:4)
我找到了解决方案!
我按http://www.symbolsource.org/Public/Wiki/Using所述设置了VS,但有一个例外。我已从符号列表中删除http://srv.symbolsource.org/pdb/Public。我注意到,从http://srv.symbolsource.org/pdb/Public下载的符号试图从https://nuget.smbsrc.net下载源代码,但从http://srv.symbolsource.org/pdb/MyGet下载的符号从symbolsource.org下载源代码。
如果你想调试Asp.net mvc 5.2.3只是从符号列表中删除http://srv.symbolsource.org/pdb/Public并确保从http://srv.symbolsource.org/pdb/MyGet
下载的pdb文件答案 1 :(得分:1)
我无法在上面发布解决方案,但我确实找到了另一种解决方法。
为了查看实际的源代码,我能够使用JetBrains中的dotPeek打开并查看任何DLL文件的源代码
为了在visual studio中实际加载源代码,我无法使用 Go To Implementation 导航到源代码( Ctrl + F12 ),但是我能够通过调试菜单设置一个断点,此时visual studio会中断,然后允许我查看实现。
System.Web.Mvc.Authorization.AuthorizeCore