问题
如何在本地机器上以编程方式附加到运行在Docker容器内的.NET Core进程?
具体而言,我有一个集成测试,在测试中运行一组Docker容器。我想要附加调试器到其中一个容器内部的进程。我知道这个容器和进程,所以我需要一个机制来以编程方式实际附加调试器,这样当我调试我的集成测试时,我可以直接调试我的应用程序。
背景
在Visual Studio 2019中,可以将调试器附加到运行在Docker容器内的进程。
当您启动容器时,请将附加了vsdbg
的额外卷(例如%USERPROFILE%\vsdbg\vs2017u5
)挂载为/remote_debugger
。
docker run -v "$($env:USERPROFILE)\vsdbg\vs2017u5:/remote_debugger:rw"
您可以使用
调试(Debug) -> 附加到进程(Attach to Process)…
来附加调试器: