从 Visual Studio 2017 连接到适用于 Linux 的 Windows 子系统

2024-03-28

我希望从 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(使用前将#替换为@)

从 Visual Studio 2017 连接到适用于 Linux 的 Windows 子系统 的相关文章

随机推荐

  • Dash Python 应用程序按钮用于操作和刷新页面

    Dash App 中需要有一个回调函数来执行某些操作然后刷新页面 只能使用 HTML A 标签实现页面重新加载 html A html Button Refresh Data href 必需的 app layout html Div htm
  • 为什么 std::vector::insert 需要复制赋值?

    我试图理解以下行为 include
  • 在 Python 中使用 Nan 对图像进行高斯滤波

    根据 2D 坐标列表和第三个变量 速度 我创建了一个覆盖整个采样区域的 2D numpy 数组 我的目的是创建一个图像 其中每个像素包含位于其中的点的平均速度 之后用高斯滤波器过滤该图像 问题是该区域没有均匀采样 因此我有几个没有信息的像素
  • iOS:当应用程序因崩溃而退出时,是否有任何委托方法

    当我的应用程序因内存不足 内存泄漏等一般崩溃而崩溃时退出时 我想与我的服务器进行一些交互 我想知道 在这种情况下是否会调用任何委托方法 以便我可以在应用程序因任何崩溃而退出之前快速联系我的服务器 谢谢 正如您所解释的 您需要联系服务器 您可
  • C 中带有 const 的“私有”结构成员

    为了拥有干净的代码 使用一些 OO 概念可能很有用 即使在 C 中也是如此 我经常编写由一对 h 和 c 文件组成的模块 问题是模块的用户必须小心 因为 C 中不存在私有成员 使用 pimpl 习惯用法或抽象数据类型是可以的 但它添加了一些
  • Gitlab 管道 - 报告配置包含未知键:cobertura

    由于此错误 我无法运行 gitlab 管道 Invalid CI config YAML file jobs run tests artifacts reports config contains unknown keys cobertur
  • 如何在 iPhone 中获取时差

    我有 2 个包含时间值的数组 它们采用以下格式 mm ss 数百秒 我想获得数组中两个 lastObjects 之间的差异 NSDate 不起作用 因为最后一个值以百分之一秒为单位 一个问题 如果第二个日期比第一个日期大 它会给我一个负数
  • FlowDocument 强制分页(之前分页)

    我使用 C 创建 FlowDocument 并用表中的数据填充它 Example FlowDocument flowDoc new FlowDocument Table table1 new Table flowDoc Blocks Add
  • 从 JQuery 附加 Laravel Blade

    我正在尝试从 Laravel 附加 Blade 语法 但无法让浏览器理解 Blade 当我从 js 文件附加 Blade 语法时 它将代码输出到页面上 this is my code Current box append if errors
  • 是什么导致 System.Drawing.Printing.PrinterSettings.InstalledPrinters 抛出 Win32Exception“RPC 服务器不可用”?

    我正在开发一个应用程序 我允许用户在从应用程序打印表单时选择一台打印机用作他们的打印机 我正在使用 NET 2 0 在设置屏幕中 我调用 System Drawing Printing PrinterSettings InstalledPr
  • Android ListView:获取可见项的数据索引

    我有一个安卓ListView创建与SimpleAdapter里面的项目多于屏幕所能容纳的项目 滚动列表后 我需要获取列表中第一个可见项目在数据模型中的位置 基本上我想要一个像这样的函数 listView getChildAt 0 getPo
  • 使用javascript比较路径并获取两个文件之间的相对路径

    如何动态比较同一域中的两个路径并获取它们之间的相对路径 var path2 http site net test1 test2 img 1 jpg test example var path3 http site net test1 img
  • .NET 4.5 MethodInfo 序列化重大更改

    问题 一个对象 带有私有MethodInfo使用程序集 1 0 版本序列化的字段 不会使用该程序集的 1 1 版本 aSerializationException将被抛出 因为尚未找到所需的方法 发生了什么变化 我发现 NET 4 5中的序
  • python pyaudio 使用多处理

    我正在尝试从音频流中获取样本并将它们放入共享队列中 我有另一个进程从该队列中提取 当我运行时 我收到此错误 recording Traceback most recent call last File record py line 43 i
  • 消息队列 makefile 错误:未定义对“mq_open”的引用

    虽然我已经链接了 lrt在我的 Makefile 中 正如你在下面看到的 我仍然得到undefined reference to mq open 请帮忙 all get1 iserv1 get get1 c gcc Wall o get1
  • java.time.Period ,除以周期会给出错误的结果

    我尝试使用java time Period 结果和我手工计算的结果相差了三天 这里奇怪的是 当我将时间段分为两个时间段时 结果与我的手动计算相符 第二种方法就像我手动计算周期一样 我是否错过了什么 日历算术有标准方法或算法吗 使用的算法是什
  • “没有这样的文件或目录”但它存在

    我只想从命令行运行可执行文件 arm mingw32ce g 但随后我收到错误消息 bash arm mingw32ce g No such file or directory 我运行的是 Ubuntu Linux 10 10 ls l l
  • 如何使用python2.7获取公共IP?

    如何使用python2 7获取公共IP 不是私有IP 目前有几种选择 ip 42 pl jsonip com httpbin org ipify org 以下是您可以利用上述各项的具体方法 ip 42 pl from urllib2 imp
  • 如何用单引号(')替换撇号(')

    似乎有两种类型的撇号 我想知道这个字符之间的区别 和这个 第一个是从 Microsoft Word 复制的 我试图将其粘贴到文本区域 然后插入数据库 但它不起作用 它破坏了我的查询 所以我想用这个 替换它 请问我该如何实现这一点 我尝试过
  • 从 Visual Studio 2017 连接到适用于 Linux 的 Windows 子系统

    我希望从 VS2017 调试 Linux C 控制台应用程序 如以下教程所示 使用适用于 Linux 的 Windows 子系统从 Visual Studio 编写和调试 Linux C 应用程序 https www hanselman c