调试 Asp.net MVC 5.2.3 源代码
Debugging Asp.net MVC 5.2.3 source code
我的目标是调试 Asp.net MVC 5.2.3 源代码。
- 我在 Visual Studio 2013 年创建了 Asp.net MVC 应用程序并进行了更新
所有 NuGet 包。
- 按照中所述设置 VS2013
https://referencesource.microsoft.com/setup.html
- 已将 http://referencesource.microsoft.com/symbols, https://nuget.smbsrc.net, http://srv.symbolsource.org/pdb/Public, http://srv.symbolsource.org/pdb/MyGet, http://msdl.microsoft.com/download/symbols https://nuget.smbsrc.net 添加到符号
但是当我尝试 "Step Into" 查看控制器的方法时,我看到了 "Controller.cs not found"。当我尝试导航到堆栈跟踪时,我看到 "downloading source code from https://nuget.smbsrc.net/" 但源代码未下载。
是否可以调试 Asp.net MVC 5.2.3 的源代码?
更新 1
我已经更改了符号列表。实际是:
此更改后,在模块 window 中存在下一个日志:
https://nuget.smbsrc.net: Symbols downloaded from symbol server.
*****\AppData\Local\Temp\SymbolCache\System.Web.Mvc.pdb78BE5BDA9D485C84CA1F292E2AD75E1\System.Web.Mvc.pdb: Symbols loaded.
正如我们所见,pdb 文件已加载。但是当我导航到源代码时,它不会打开。
nuget.smbsrc.net
上似乎没有源代码
我找到解决办法了!
我按照 http://www.symbolsource.org/Public/Wiki/Using but with one exception. I've deleted http://srv.symbolsource.org/pdb/Public from symbol list. I noticed, symbols that downloads from http://srv.symbolsource.org/pdb/Public trying to download source code from https://nuget.smbsrc.net, but symbols that downloaded from http://srv.symbolsource.org/pdb/MyGet 从 symbolsource.org 下载源代码中的描述设置 VS。
如果你想调试 Asp.net mvc 5.2.3 只需删除 http://srv.symbolsource.org/pdb/Public from symbol list and ensure that pdb files downloaded from http://srv.symbolsource.org/pdb/MyGet
我无法使上面发布的解决方案起作用,但我确实找到了另一个解决方案。
为了查看实际源代码,我能够使用来自 JetBrains
的 dotPeek 打开和查看任何 DLL 文件的源代码
为了在 visual studio 中实际加载源代码,我无法使用 Go To Implementation 导航到源代码(Ctrl+F12), 但我能够通过调试菜单设置断点,在该点 visual studio 将中断然后允许我查看实现。
- 使用 dotPeek 查找要中断的完整命名空间方法名称
- 在 Visual Studio 导航到 Debug > New BreakPoint > Function Breakpoint (Ctrl+B) 并将断点设置为您在 JetBrains 中找到的函数。示例:
System.Web.Mvc.Authorization.AuthorizeCore
- 调试 Visual Studio 中的应用程序,它会在点集处中断,让您逐步浏览并探索该功能的源代码
我的目标是调试 Asp.net MVC 5.2.3 源代码。
- 我在 Visual Studio 2013 年创建了 Asp.net MVC 应用程序并进行了更新 所有 NuGet 包。
- 按照中所述设置 VS2013 https://referencesource.microsoft.com/setup.html
- 已将 http://referencesource.microsoft.com/symbols, https://nuget.smbsrc.net, http://srv.symbolsource.org/pdb/Public, http://srv.symbolsource.org/pdb/MyGet, http://msdl.microsoft.com/download/symbols https://nuget.smbsrc.net 添加到符号
但是当我尝试 "Step Into" 查看控制器的方法时,我看到了 "Controller.cs not found"。当我尝试导航到堆栈跟踪时,我看到 "downloading source code from https://nuget.smbsrc.net/" 但源代码未下载。
是否可以调试 Asp.net MVC 5.2.3 的源代码?
更新 1 我已经更改了符号列表。实际是:
此更改后,在模块 window 中存在下一个日志:
https://nuget.smbsrc.net: Symbols downloaded from symbol server.
*****\AppData\Local\Temp\SymbolCache\System.Web.Mvc.pdb78BE5BDA9D485C84CA1F292E2AD75E1\System.Web.Mvc.pdb: Symbols loaded.
正如我们所见,pdb 文件已加载。但是当我导航到源代码时,它不会打开。
nuget.smbsrc.net
上似乎没有源代码我找到解决办法了!
我按照 http://www.symbolsource.org/Public/Wiki/Using but with one exception. I've deleted http://srv.symbolsource.org/pdb/Public from symbol list. I noticed, symbols that downloads from http://srv.symbolsource.org/pdb/Public trying to download source code from https://nuget.smbsrc.net, but symbols that downloaded from http://srv.symbolsource.org/pdb/MyGet 从 symbolsource.org 下载源代码中的描述设置 VS。
如果你想调试 Asp.net mvc 5.2.3 只需删除 http://srv.symbolsource.org/pdb/Public from symbol list and ensure that pdb files downloaded from http://srv.symbolsource.org/pdb/MyGet
我无法使上面发布的解决方案起作用,但我确实找到了另一个解决方案。
为了查看实际源代码,我能够使用来自 JetBrains
的 dotPeek 打开和查看任何 DLL 文件的源代码为了在 visual studio 中实际加载源代码,我无法使用 Go To Implementation 导航到源代码(Ctrl+F12), 但我能够通过调试菜单设置断点,在该点 visual studio 将中断然后允许我查看实现。
- 使用 dotPeek 查找要中断的完整命名空间方法名称
- 在 Visual Studio 导航到 Debug > New BreakPoint > Function Breakpoint (Ctrl+B) 并将断点设置为您在 JetBrains 中找到的函数。示例:
System.Web.Mvc.Authorization.AuthorizeCore
- 调试 Visual Studio 中的应用程序,它会在点集处中断,让您逐步浏览并探索该功能的源代码