跳轉到內容

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]
華夏公益教科書