EF Core CLI Tools附加调试器

时间:2018-02-09 08:09:54

标签: debugging visual-studio-2017 entity-framework-core

我试图通过插入System.Diagnostics.Debugger.Launch()

从我的DBContext调试OnModelCreated,如下所述:EF Core Add Migration Debugging

然后我运行> dotnet ef migrations list命令并获得附加调试器的提示。我选择正在运行的VS,其中加载了正确的解决方案。

然后我看到了反汇编的文件和关于找不到debugger.cpp的警告。我选择在上述Debugger.Launch()之后直接设置断点,然后告诉我

  

断点,不会被击中,因为没有加载任何符号"

嗯 - 模块窗口,很可能对此有所了解。
因此,打开模块窗口并查找我的.dll。 - 在那里 - 顶部有一个小红叉。

右键单击模块:符号加载信息状态:

  

此模块是由ngen.exe工具创建的预编译二进制文件。调试器不会尝试为这些二进制文件加载符号,而是在.NET运行时加载原始dll / exe时加载符号。

文件中的符号状态说明:
|名称| SymbolStatus |过程|
| DataAccess.Migrations.dll |本机调试器跳过了托管模块的加载符号。 | [21808] dotnet.exe |

在我写这篇文章时,似乎VS试图调试本机代码而不是托管代码。有没有办法解决这个问题或跳转到#34;混合模式调试"?

1 个答案:

答案 0 :(得分:0)

似乎调试器正在跳过不在.NET环境中的文件。 解决方案:检查调试 - >一般 - >启用我的代码

对于混合模式: 项目名称 - >属性 - >调试 - >调试器类型:

enter image description here