跳转到内容

Visual Studio/Linux 开发

来自维基教科书,自由的教科书,共享知识

Visual Studio 的最新版本包含跨平台支持,尤其针对 Android、iOS 和现在的 Linux。由于 Linux 应用程序无法(显然)在 Windows 上原生运行,因此您可以:

在本指南中,我们将使用后一种方法,因为它更“原生”,但希望使用前一种方法的人也可以使用本指南。

先决条件

[编辑 | 编辑源代码]

您需要:

  1. Windows 10(仅限 64 位)
  2. Visual Studio 2017 或更高版本
  1. 如果您还没有,请从 Visual Studio 安装程序中安装 Linux 开发工作负载。
  2. 安装适用于 Linux 的 Windows 子系统工具,并从 Windows 商店下载您选择的 Linux 版本 以下是一个示例指南。设置 Linux 配置。
  3. 在 Linux bash 中运行以下命令:
$ sudo apt update
$ sudo apt install -y build-essential
$ sudo apt install -y gdbserver
$ sudo apt install -y openssh-server
  1. 使用代码编辑器打开 /etc/ssh/sshd_config;例如,sudo nano /etc/ssh/sshd_config。查找 PasswordAuthentication 并将其设置为 yes
  2. 启动 SSH 服务
$ sudo ssh-keygen -A
$ sudo service ssh start
  1. 打开 Visual Studio 并创建/导入 Linux 项目
  2. 打开跨平台管理器,然后单击添加。将主机名输入为 localhost,端口号输入为 22,然后输入您的 UNIX 用户名(不是 Windows!)和密码。如果您没有使用适用于 Linux 的 Windows 子系统,请输入您将使用的 Linux 计算机的主机名,而不是 localhost。如果一切顺利,您会看到一条消息,说明 IntelliSense 正在配置库。

您需要在 WSFL 上安装 Linux 编译器!根据需要使用适当的 apt-get 命令来安装它们(例如:sudo apt-get g++)。否则,您在尝试运行时(或在单击上一步中的添加后)会收到错误消息。

  1. 确保目标设置正确,然后像往常一样进行调试。您将在 Visual Studio 底部的 Linux 控制台窗口中看到输出(不在 bash shell 或命令提示符中)。

如果您看不到任何输出,请确保您的程序至少有一个等待状态。这是因为当程序停止调试时,Linux 控制台窗口会消失,其内容也会被清除(它与通过 VS 调试普通 Windows 程序的效果相同,如果您没有将其配置为不立即关闭)。

您可以像调试普通 Windows 程序一样使用它。主要区别是 CPU 跟踪等功能受到限制,这是因为应用程序实际上是在其他地方(在 Linux 子系统上)运行。您可以像往常一样轻松设置断点、监视、局部变量和自动变量。当(如果)发生段错误时,Visual Studio 会停止程序并显示可能发生错误的最接近位置(就像使用 gdb 并启用调试符号一样)。

通常可以自定义调试设置。方法与在 Windows 上相同 - 转到项目设置。

  1. [1]
华夏公益教科书