有没有一种简单的方法可以从Visual Studio调试在远程主机上的Linux容器中运行的进程?
想象一下这样一个场景:我们在某个远程机器上部署了多个服务,并在docker containers dev环境中运行。在测试期间,我们检测到其中一个服务的内部状态发生了变化,需要弄清楚其中发生了什么。我们不想在本地使用docker-compose up,因为我们可能无法模拟该场景。
相反,我们希望附加到容器内正在运行的进程。
我读了几篇关于如何做到这一点的文章,但它们要么是关于Windows容器(https://www.richard-banks.org/2017/02/debug-net-in-windows-container.html)的,要么就是令人困惑的(例如,我需要安装sshd才能从VS连接到它吗?我是否需要按照这里所述的https://github.com/Microsoft/generator-docker/issues/130安装vsdbg ?)
我尝试将vsdbg和ssh一起安装到容器中,但Visual Studio无法找到任何远程连接(在调试->连接到进程中)。
有没有专门针对VS2017、远程调试和Docker Linux容器的教程?
发布于 2019-08-20 03:06:35
您可以尝试使用gdb和ssh进行调试,如以下页面所示:https://docs.microsoft.com/en-us/cpp/linux/connect-to-your-remote-linux-computer,但这会将进程视为本机/非托管进程。它主要用于调试C++应用程序。
对于远程调试托管进程C#、VB、F#等,你可以使用“VS的远程调试工具”,但它们只适用于Windows。因此不能在Linux容器上远程调试C#应用程序。希望这能把事情说清楚。
发布于 2020-06-10 02:07:03
要公开它们,您必须安装远程调试工具。通常,在使用windows时,每个visual studio都有不同的版本,但这应该可以从2017年及以后的visual studio版本开始工作。
https://stackoverflow.com/questions/46159045
复制相似问题