2017-09-13 244 views
0

我使用VS2017,我得到了以下的时候,我打F5第一次例外 - System.pdb未加载

enter image description here

它发生仅针对特定的项目,即使我禁用下VS选项符号支持。虽然在过去,即使启用了Symbol支持,它也不会抛出相同的项目。

所以,因为我认为这必须是某种缓存VS设置项目特定的,所以我删除了bin,obj,.vs,SymbolSource文件夹但是相同。

如果我启用Just My Code,它不会抛出,但是这不是我想要的,因为我无法调试已经有符号的程序集。

据我所知,即使符号支持已启用,它不应该抛出,如果没有在VS选项中声明相关的符号服务器。

此行为不是特定于System.dll,但即使我附加到外部进程,我没有符号,这意味着再次使用Load Only指定的模块VS选项进行筛选不是我正在寻找。

那么,有没有人有一个想法,如何避免这种恼人的例外,同时允许使用符号支持我配置的其他组件。

+1

你问这是否发生。如果它使你恼火,请取消“当此异常被抛出时中断”复选框。您最好在调试>例外设置中查看一下,很有可能您为多个例外启用了此功能。如果您不知道它的含义,请按F1。 –

+0

我想打破,但只有当我有符号,因为它曾经打破过去。我试图理解为什么现在它在程序集上没有符号 –

回答

0

这意味着你要在执行到 .NET Framework的源代码:

http://referencesource.microsoft.com/setup.html

http://referencesource.microsoft.com/indexedpdbs.txt

其实我们也报道这个问题产品团队VS 2017年之前:

Stepping into .NET Source Still Doesn't Work

如果你真的想避免它,我建议你在工具 - >选项 - >调试下禁用设置,如“启用.NET框架源码步进”。

要调试.NET Framework源代码,我们需要:

禁用只是我的代码

在性能和运营商

禁用需要的源文件禁止

步骤,完全原始版本匹配

启用.NET框架源步进

启用源服务器支持

因此,只需使用上述相反的设置选项,再次调试。

另外,请在工具 - >选项 - >调试 - >符号服务器下启用符号服务器,并启用异常设置窗口,查看详细的异常消息,也许你必须首先解决异常或获得任何帮助来自它的信息。

+0

>如果你真的想避免它,我建议你在工具 - >选项 - >调试下禁用诸如“启用.NET框架源代码步进”的设置。 它已被禁用,但仍然throowing –

+0

@Apostolis Bekiaris,只是在这个问题上添加其他建议,如果可能的话,你可以在上面的答案中查看它。如果仍然没有帮助,你能分享一个简单的示例使用一个驱动器?所以我们可以使用与您相同的样本在我们身边进行调试。 –