我试图通过插入System.Diagnostics.Debugger.Launch()
然后我运行> dotnet ef migrations list
命令并获得附加调试器的提示。我选择正在运行的VS,其中加载了正确的解决方案。
然后我看到了反汇编的文件和关于找不到debugger.cpp的警告。我选择在上述Debugger.Launch()
之后直接设置断点,然后告诉我
断点,不会被击中,因为没有加载任何符号"
嗯 - 模块窗口,很可能对此有所了解。
因此,打开模块窗口并查找我的.dll。 - 在那里 - 顶部有一个小红叉。
右键单击模块:符号加载信息状态:
此模块是由ngen.exe工具创建的预编译二进制文件。调试器不会尝试为这些二进制文件加载符号,而是在.NET运行时加载原始dll / exe时加载符号。
文件中的符号状态说明:
|名称| SymbolStatus |过程|
| DataAccess.Migrations.dll |本机调试器跳过了托管模块的加载符号。 | [21808] dotnet.exe |
在我写这篇文章时,似乎VS试图调试本机代码而不是托管代码。有没有办法解决这个问题或跳转到#34;混合模式调试"?