我正在尝试使用公共可用符号调试.NET代码。我按照说明设置:
在工具 - >选项 - >调试中,我选中了“启用.NET框架源步进”,禁用“仅启用我的代码”。
在工具 - >选项 - >调试 - >符号加载所有符号。我检查了很多* .pdb出现在这个文件夹中。
在ASP.NET MVC应用程序中,我将断点放入Application_Start()方法。
在调试器运行后,我看到调用堆栈,查看调用堆栈中的所有方法(System.Web.dll)。但是,如果我尝试双击它,只有我看到的是反汇编代码(或消息 - 没有源代码可用)。
可能是什么原因 ?
听起来像符号没有加载,可能是由于版本不匹配。我在过去遇到过正确的符号加载问题。我总是通过指向Microsoft符号服务器来解决它。下面的文章提供了有关如何设置.NET Framework调试的分步说明。在第三节“使用模块窗口加载框架符号”中,它描述了使用Microsoft Symbol服务器。
最近在Windows 10更新后我们遇到了同样的问题。 VS 2013的调试器无法找到源代码,并且在其中的一个步骤是抱怨丢失的源文件:You need to find <filename>.cs to view the source for the current call stack frame and The debugger could not locate the source file <filename>.cs
适合我们的解决方案:
Tools -> Imports and Export Settings -> Reset All Settings -> Select General after the save settings option.