我尝试调试Visual Studio 2022中的两个C# .NET 6.0 Docker容器,但我设置的断点总是显示“* 没有符号已加载 *"。
两个Docker容器位于docker-compose.yml
文件中,版本为3.9,Docker Desktop显示它们运行正常。
在VS2022中,我尝试了Debug
〉Attach to Process
,其中:
- “Docker(Linux容器)”的
Connection Type
Debug these Code types
设置为“托管(Unix的.NET核心)"。
我可以列出容器的内容并查看.pdb
文件。
我试过删除Docker Desktop中的容器和图像,清理VS解决方案,重新构建和重新启动容器,但得到相同的错误。
2条答案
按热度按时间sg24os4d1#
您可能在使用“仅我的代码”功能时遇到问题。在这种情况下,加载符号的两种最简单的方法是:取消选中调试器选项中的“启用仅我的代码”:
或者,打开模块窗口,选择您的dll,右击并选择“加载符号”:
vsaztqbk2#
我们通过确保调试配置如以下步骤和屏幕截图所示自行修复了此问题。
简单场景
Debug
解决方案配置Startup Project
是docker-compose
文件Docker Compose
,然后单击它开始调试有了这个配置,我们所有的断点都能按预期工作,我们不再需要附加到进程。
我们仍然可以在Docker Desktop和VS Containers窗口中看到各种容器及其日志。
启动配置文件方案
此外,我们让它在另一个解决方案中工作,该解决方案具有Docker组合发射配置文件。
docker-compose
文件具有为各种服务指定的配置文件Start debugging