我使用VS2017,当我点击F5时,我得到以下内容
仅在某些项目中发生,即使我在VS选项下禁用了Symbols支持。虽然在过去,对于相同的项目,即使启用了Symbol支持也不会抛出。
所以,既然我认为这必须是某种特定的缓存VS设置项目,我删除了bin,obj,.vs,但是SymbolSource文件夹却一样。
如果我启用Just My Code它不会抛出,但这不是我想要的,因为我无法调试已经有符号的程序集。
据我所知,即使启用了Symbols Support,如果VS Options中没有声明相关的Symbol Server,也不应抛出。
此行为不仅仅特定于System.dll,但即使我附加到我没有符号的外部进程也会发生这种情况,这意味着再次使用“仅加载指定模块VS”选项进行过滤并不是我想要的。
那么,是否有人知道如何避免这种恼人的异常,同时允许对我配置的其他程序集使用Symbol Support。
答案 0 :(得分:1)
这意味着您想要介入 .net Framework源代码:
http://referencesource.microsoft.com/setup.html
http://referencesource.microsoft.com/indexedpdbs.txt
实际上,我们之前也向VS 2017的产品团队报告了此问题:
Stepping into .NET Source Still Doesn't Work
如果你真的想避免它,我建议你禁用TOOLS-> Options-> Debugging下的“启用.NET框架源步进”等设置。
要调试.NET框架源代码,我们需要:
仅禁用我的代码
禁用步骤属性和运算符
禁用要求源文件与原始版本完全匹配
启用.NET框架源步骤
启用源服务器支持
因此,只需使用上述选项中的相反设置,再次进行调试。
此外,请启用TOOLS-> Options-> Debugging-> Symbols Server下的符号服务器,并启用异常设置窗口,查看详细的异常消息,可能您必须首先解决异常或获取来自它的任何有用信息。
答案 1 :(得分:1)
尝试取消选中调试托管服务。