【发布时间】:2018-07-19 22:56:47
【问题描述】:
我试图从我的 DBContext 调试 OnModelCreated,如下所述:EF Core Add Migration Debugging 通过插入 System.Diagnostics.Debugger.Launch()
然后我运行> dotnet ef migrations list 命令并得到附加调试器的提示。我选择了正在运行的 VS,其中加载了正确的解决方案。
然后我看到了反汇编文件和关于找不到 debugger.cpp 的警告等等。我选择在前面提到的Debugger.Launch() 之后直接设置断点,然后告诉我
断点,不会被命中,因为没有加载任何符号"
嗯 - 模块窗口很可能会对此有所了解。
所以打开模块窗口并寻找我的.dll。 - 就在那里 - 上面有一个小红十字。
右键单击模块:符号加载信息状态:
此模块是由 ngen.exe 工具创建的预编译二进制文件。调试器不会尝试为这些二进制文件加载符号,而是会在 .NET 运行时加载原始 dll/exe 时加载符号。
文件中的符号状态说明:
|姓名 |符号状态 |工艺 |
|数据访问.Migrations.dll |本机调试器跳过了托管模块的加载符号。 | [21808] dotnet.exe |
在我写这篇文章时,VS 似乎试图调试本机代码而不是托管代码。有没有办法解决这个问题或跳入“混合模式调试”?
【问题讨论】:
-
您现在可以调试您的应用程序吗?任何更新,请随时在这里分享。
标签: debugging visual-studio-2017 entity-framework-core