Visual Studio 2022 Docker调试-“尚未加载任何符号”

hwamh0ep  于 2023-03-09  发布在  Docker
关注(0)|答案(2)|浏览(628)

我尝试调试Visual Studio 2022中的两个C# .NET 6.0 Docker容器,但我设置的断点总是显示“* 没有符号已加载 *"。
两个Docker容器位于docker-compose.yml文件中,版本为3.9,Docker Desktop显示它们运行正常。
在VS2022中,我尝试了DebugAttach to Process,其中:

  • “Docker(Linux容器)”的Connection Type
  • Debug these Code types设置为“托管(Unix的.NET核心)"。

我可以列出容器的内容并查看.pdb文件。
我试过删除Docker Desktop中的容器和图像,清理VS解决方案,重新构建和重新启动容器,但得到相同的错误。

sg24os4d

sg24os4d1#

您可能在使用“仅我的代码”功能时遇到问题。在这种情况下,加载符号的两种最简单的方法是:取消选中调试器选项中的“启用仅我的代码”:

或者,打开模块窗口,选择您的dll,右击并选择“加载符号”:

vsaztqbk

vsaztqbk2#

我们通过确保调试配置如以下步骤和屏幕截图所示自行修复了此问题。

简单场景

  • 确保选择了Debug解决方案配置
  • 确保Startup Projectdocker-compose文件
  • 确保显示Docker Compose,然后单击它开始调试

有了这个配置,我们所有的断点都能按预期工作,我们不再需要附加到进程。
我们仍然可以在Docker Desktop和VS Containers窗口中看到各种容器及其日志。

启动配置文件方案

此外,我们让它在另一个解决方案中工作,该解决方案具有Docker组合发射配置文件。

  • 确保docker-compose文件具有为各种服务指定的配置文件
  • 在工具栏〉Docker编写〉管理Docker编写启动设置中,选择Docker编写配置文件

  • 在每个服务下,确保要调试的服务是Start debugging
  • 保存
  • 按照上面的简单场景开始调试

相关问题