Visual Studio代码不在OS X上加载符号

Eri*_*rik 7 debugging debug-symbols visual-studio-code asp.net-core

我试图在OS X上使用ASP.NET Core设置web api.我已经正确设置了我的环境(我认为)并且我能够使用dotnet build终端构建和运行我的应用程序,我能够从断开点按预期工作的Visual Studio Code开始调试.我的问题是我在尝试使用EF核心查询我的Sqlite数据库时收到错误.EF核心在这里并不重要,因为当我调试并试图找出错误是什么时,我没有得到任何堆栈跟踪.当我跳过失败的代码时,调试控制台会打印:

Exception thrown: 'System.InvalidOperationException' in Microsoft.EntityFrameworkCore.dll
Loaded '/usr/local/share/dotnet/shared/Microsoft.NETCore.App/1.0.0/System.Diagnostics.StackTrace.dll'. Cannot find or open the symbol file.
Loaded '/usr/local/share/dotnet/shared/Microsoft.NETCore.App/1.0.0/System.Reflection.Metadata.dll'. Cannot find or open the symbol file.
Loaded '/usr/local/share/dotnet/shared/Microsoft.NETCore.App/1.0.0/System.IO.MemoryMappedFiles.dll'. Cannot find or open the symbol file.
Loaded '/usr/local/share/dotnet/shared/Microsoft.NETCore.App/1.0.0/System.IO.UnmanagedMemoryStream.dll'. Cannot find or open the symbol file.
Run Code Online (Sandbox Code Playgroud)

其中很多Cannot find or open the symbol file.都是在启动时打印出来的.我已经检查过文件位于指定的位置,并且不应该有任何读取访问问题(已启动vs代码,sudo code .甚至sudo chmod 777 *在相关文件夹中完成了).

那么,为什么没有加载符号的任何想法?

小智 0

我认为您已经混淆了 VSCode 所说的无法加载的内容。这并不是说它无法加载 DLL。“符号”文件的扩展名为 .PDB。为了调试 DLL 生成的错误,调试器需要相应的符号文件,因此如果 PDB 文件不存在,则更改 DLL 的权限不会使错误消失。

我刚刚开始在 Mac 上使用 VSCode,据我所知,如果使用 Homebrew 安装 dotnet core(这是他们推荐的),则不会获得 PDB 文件,并且在启动调试器时会看到类似的消息。这并不妨碍我调试自己的代码,因为我的 DLL 生成了一个 PDB 文件。仅当您需要调试 dotnet core 本身内部出现的问题时,它才会导致问题。