我希望从 VS2017 调试 Linux C++ 控制台应用程序,如以下教程所示:
使用适用于 Linux 的 Windows 子系统从 Visual Studio 编写和调试 Linux C 应用程序 https://www.hanselman.com/blog/WritingAndDebuggingLinuxCApplicationsFromVisualStudioUsingTheWindowsSubsystemForLinux.aspx
从 Visual Studio 将 Windows 子系统定位为 Linux https://blogs.msdn.microsoft.com/vcblog/2017/02/08/targeting-windows-subsystem-for-linux-from-visual-studio/
我已在 WSL Ubuntu 16.04 安装中安装了 gdbserver 和 openssh-server,并且sshd
正在运行,但我无法从 VS2017 连接。
当我尝试时,我收到错误'Connectivity Failure. Please make sure the host name and port number are correct'
.
就我而言,主机名和端口号都是正确的。我知道 WSL 仍然是测试版,所以我假设问题与 WSL 有关(我最近安装了 Windows 10 Creators Update,所以它至少是最新的,但我期待ssh
与 CU 合作)。我使用的是 Windows 10 版本 1703,内部版本 15063.250。
Update我让 Visual Studio 连接到我的 Ubuntu VM,这证明它可以工作,问题肯定出在 Windows 上的 Bash 上。传入连接不起作用,但传出连接按预期工作。
还有其他人在以这种方式从 Visual Studio 2017 连接到 WSL 时遇到问题吗?
是的,这个问题似乎已经被报告过here https://github.com/Microsoft/BashOnWindows/issues/1866 and here https://github.com/Microsoft/BashOnWindows/issues/1554.
根据最近对后一个线程的评论,该问题已在 Windows Insider build 16199 中得到解决。根据您的情况,这可能是您的一个选择,直到修复程序合并到发行版本中。
如果您处于生产环境,我建议继续使用VM。我个人在 Windows Insider 构建方面并没有遇到太多麻烦,但总是存在一些风险。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)