1.0版本好像不可以加速
2.0版本好像可以GPU加速
我都沒試過,聽說而已
自己可以去試試
wsl安裝
一、安裝WSL2.0
WSL2.0相比WSL1.0具備完整的Linux內(nèi)核、托管VM和完全的系統(tǒng)調(diào)用兼容性,所以我們這里使用WSL2.0
1.啟用適用于 Linux 的 Windows 子系統(tǒng):打開powershell并輸入:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
文章來源:https://zhuanlan.zhihu.com/p/386590591
2. 檢查WSL2的要求:win+R打開運(yùn)行,然后輸入winver檢查windows版本
4. 啟用虛擬化:以管理員打開powershell輸入下列命令
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
5. 下載X64的WSL2 Linux內(nèi)核升級(jí)包并安裝
6. 設(shè)置WSL默認(rèn)版本
wsl --set-default-version 2
二、安裝Ubuntu20.04LTS
2. 一般Windows都會(huì)將ubuntu加入到我的軟件庫中,如果沒有可以自行搜索ubuntu然后安裝,搜索到商店的有可能安裝不了
3. 找到Ubuntu 20.04LTS點(diǎn)擊安裝即可,這里我已經(jīng)安裝好了直接點(diǎn)擊啟動(dòng)就行
4. 打開后設(shè)置初始的用戶名和密碼即可,如果出現(xiàn)參考的對(duì)象類型不支持嘗試的操作,請(qǐng)重置下網(wǎng)絡(luò)net winsock reset
5. 設(shè)置root密碼
sudo passwd
三、配置ssh
修改配置文件/etc/ssh/sshd_config,開啟下列選項(xiàng)
PermitRootLogin yes #允許root認(rèn)證登錄
PasswordAuthentication yes #允許密碼認(rèn)證
RSAAuthentication yes #秘鑰認(rèn)證
PubkeyAuthentication yes
2. 由于自帶的openssh-server沒有生成密鑰所以需要生成密鑰文件,否則會(huì)出現(xiàn)sshd: no hostkeys available -- exiting.
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
3. 啟動(dòng)ssh
service ssh start
4. 開機(jī)啟動(dòng)ssh:win+R打開運(yùn)行,輸入shell::startup進(jìn)入開機(jī)啟動(dòng)項(xiàng),創(chuàng)建wsl_ssh_start.bat,其內(nèi)容為
C:\Users\用戶名\AppData\Local\Microsoft\WindowsApps\ubuntu2004.exe run "sudo service ssh restart"
5. 設(shè)置默認(rèn)root登錄:以管理員打開powshell,輸入以下命令,
注意:用戶名需要替換掉,版本頁需要替換掉,如果wsl的路徑不在這里可以去C:\Program Files\WindowsApps\XXX.UbuntuXXX\ubuntu版本.exe
C:\Users\用戶名\AppData\Local\Microsoft\WindowsApps\ubuntu版本.exe config --default-user root
四、設(shè)置分發(fā)版本
檢查分配給已安裝Linux的WSL版本wsl -l -v
wsl --list --verbose
設(shè)置分發(fā)版本為某個(gè)wsl版本
wsl --set-version <distribution name> <versionNumber>
五、常見問題解決
5.1 安裝失敗并出現(xiàn)錯(cuò)誤 0x80070003
適用于 Linux 的 Windows 子系統(tǒng)只能在系統(tǒng)驅(qū)動(dòng)器(通常是 C: 驅(qū)動(dòng)器)中運(yùn)行。 請(qǐng)確保分發(fā)版存儲(chǔ)在系統(tǒng)驅(qū)動(dòng)器上:打開“設(shè)置”->“系統(tǒng)”-->“存儲(chǔ)”-> “更多存儲(chǔ)設(shè)置”: 更改新內(nèi)容的保存位置”
5.2 WslRegisterDistribution 失敗并出現(xiàn)錯(cuò)誤 0x8007019e
未啟用“適用于 Linux 的 Windows 子系統(tǒng)”可選組件:
打開“控制面板” -> “程序和功能” -> “打開或關(guān)閉 Windows 功能”-> 選中“適用于 Linux 的 Windows 子系統(tǒng)”,或使用本文開頭所述的 PowerShell cmdlet。
5.3 安裝失敗,出現(xiàn)錯(cuò)誤 0x80070003 或錯(cuò)誤 0x80370102
請(qǐng)確保在計(jì)算機(jī)的 BIOS 內(nèi)已啟用虛擬化。 有關(guān)如何執(zhí)行此操作的說明因計(jì)算機(jī)而異,并且很可能在 CPU 相關(guān)選項(xiàng)下。WSL2 要求 CPU 支持二級(jí)地址轉(zhuǎn)換 (SLAT) 功能,后者已在 Intel Nehalem 處理器(Intel Core 第一代)和 AMD Opteron 中引入。 即使成功安裝了虛擬機(jī)平臺(tái),舊版 CPU(例如 Intel Core 2 Duo)也無法運(yùn)行 WSL2。
5.4 嘗試升級(jí)時(shí)出錯(cuò):Invalid command line option: wsl --set-version Ubuntu 2
請(qǐng)確保已啟用適用于 Linux 的 Windows 子系統(tǒng),并且你使用的是 Windows 內(nèi)部版本 18362 或更高版本。 若要啟用 WSL,請(qǐng)?jiān)?PowerShell 提示符下以具有管理員權(quán)限的身份運(yùn)行此命令:Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux。
5.5 由于虛擬磁盤系統(tǒng)的某個(gè)限制,無法完成所請(qǐng)求的操作。虛擬硬盤文件必須是解壓縮的且未加密的,并且不能是稀疏的
取消選中“壓縮內(nèi)容”(如果已選中“加密內(nèi)容”,請(qǐng)一并取消選中),方法是打開 Linux 發(fā)行版的配置文件文件夾。 它應(yīng)位于 Windows 文件系統(tǒng)上的一個(gè)文件夾中,類似于:USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited...
在此 Linux 發(fā)行版配置文件中,應(yīng)存在一個(gè) LocalState 文件夾。 右鍵單擊此文件夾可顯示選項(xiàng)的菜單。 選擇“屬性”>“高級(jí)”,然后確保未選擇(未勾選)“壓縮內(nèi)容以節(jié)省磁盤空間”和“加密內(nèi)容以保護(hù)數(shù)據(jù)”復(fù)選框。 如果系統(tǒng)詢問是要將此應(yīng)用到當(dāng)前文件夾還是應(yīng)用到所有子文件夾和文件,請(qǐng)選擇“僅此文件夾”,因?yàn)槟阒皇且宄龎嚎s標(biāo)志。 完成此操作后,wsl --set-version 命令應(yīng)正常工作。
5.6 無法將詞語“wsl”識(shí)別為 cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱
請(qǐng)確保已安裝“適用于 Linux 的 Windows 子系統(tǒng)”可選組件。 此外,如果你使用的是 ARM64 設(shè)備,并從 PowerShell 運(yùn)行此命令,則會(huì)收到此錯(cuò)誤。 請(qǐng)改為從 PowerShell Core 或從命令提示符運(yùn)行 wsl.exe。
5.7 錯(cuò)誤:此更新僅適用于裝有適用于 Linux 的 Windows 子系統(tǒng)的計(jì)算機(jī)
若要安裝 Linux 內(nèi)核更新 MSI 包,需要 WSL,應(yīng)先啟用它。 如果失敗,將看到以下消息:This update only applies to machines with the Windows Subsystem for Linux。
出現(xiàn)此消息有三個(gè)可能的原因:
你仍使用舊版 Windows,不支持 WSL 2。 有關(guān)版本要求和要更新的鏈接,請(qǐng)參閱步驟 #2。
未啟用 WSL。 需要返回到步驟 #1,并確保在計(jì)算機(jī)上啟用了可選的 WSL 功能。
啟用 WSL 后,需要重新啟動(dòng)才能使其生效,請(qǐng)重新啟動(dòng)計(jì)算機(jī),然后重試。
5.8 錯(cuò)誤:WSL 2 要求對(duì)其內(nèi)核組件進(jìn)行更新
如果 %SystemRoot%\system32\lxss\tools 文件夾中缺少 Linux 內(nèi)核包,會(huì)遇到此錯(cuò)誤。 若要解決此問題,請(qǐng)?jiān)诎惭b說明的步驟 #4 中安裝 Linux 內(nèi)核更新 MSI 包。 可能會(huì)需要從添加或刪除程序卸載 MSI,然后重新安裝。
六、忘記WSL密碼
如果忘記了 Linux 分發(fā)版的密碼:
請(qǐng)打開 PowerShell,并使用以下命令進(jìn)入默認(rèn) WSL 分發(fā)版的根目錄:wsl -u root
如果需要在非默認(rèn)分發(fā)版中更新忘記的密碼,請(qǐng)使用命令:wsl -d Debian -u root,并將 Debian 替換為目標(biāo)分發(fā)版的名稱。
在 PowerShell 內(nèi)的根級(jí)別打開 WSL 發(fā)行版后,可使用此命令更新密碼:passwd <WSLUsername>,其中 <WSLUsername> 是 DISTRO 中帳戶的用戶名,而你忘記了它的密碼。
系統(tǒng)將提示你輸入新的 UNIX 密碼,然后確認(rèn)該密碼。 在被告知密碼已成功更新后,請(qǐng)使用以下命令在 PowerShell 內(nèi)關(guān)閉 WSL:exit
wsl安裝gromacs
一.安裝gcc、g++、cmake
sudo apt-get update
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install cmake
sudo apt-get update
二.安裝cuda(需要nVidia顯卡)
查看顯卡驅(qū)動(dòng)版本最高支持的cuda版本
在終端中輸入
nvidia-smi
在官網(wǎng)下載CUDA Toolkit,選擇不高于顯卡驅(qū)動(dòng)支持的最高版本的CUDA Toolkit。
選擇Linux -> x86_64 -> WSL-Ubuntu -> 2.0 -> deb(local)。
原文鏈接:https://blog.csdn.net/linjw1923/article/details/130936725
復(fù)制下面的代碼,將其粘貼到終端中,回車執(zhí)行。
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
配置環(huán)境變量
echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
查看cuda版本
nvcc -V
tar xfz gromacs-2023.1.tar.gz
cd gromacs-2023.1
mkdir build
cd build
cmake .. -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_GPU=CUDA -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-11.8
make -j4
make check
sudo make install
source /usr/local/gromacs/bin/GMXRC 當(dāng)然也可以手動(dòng)改~/.bashrc,在exprot最后一行修改
gmx -h 進(jìn)行測試,看是否有這個(gè)命令
VS Code作為一款最受程序員歡迎的輕量級(jí)的程序編輯器,在使用方面有著無可替代的靈活性與優(yōu)勢(shì)。但同樣由于其輕量級(jí)和靈活性,在進(jìn)行開發(fā)時(shí),也有很多需要自行手動(dòng)配置的地方,不像其臃腫的同門兄弟Visual Studio(雖然VS Code與Visual Studio相似之處僅僅在于名稱和同是微軟出品)那樣,讓很多操作都傻瓜化。對(duì)于新手來說,傻瓜化的操作當(dāng)然有其便捷性,但失去了配置的過程,很多人雖然在VisualStudio下可以寫出能執(zhí)行的代碼,但始終連程序是如何編譯、鏈接到運(yùn)行的都搞不懂。
在VS Code官方文檔中,對(duì)各種開發(fā)語言的配置方式都有詳盡的介紹,在Windows下進(jìn)行C/C開發(fā)時(shí),官方提供了三種不同的配置方式,分別是使用Microsoft C,Windows下的GCC和利用Windows10內(nèi)置的WSL linux子系統(tǒng)的GCC進(jìn)行開發(fā)和配置。本文僅就后兩種方式進(jìn)行示例和介紹。
mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .
最后一行code .命令是在命令行下快速調(diào)用code打開當(dāng)前文件夾的指令,在實(shí)際使用中非常方便。
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}
按照官方的指導(dǎo),要在Windows下安裝開源的GCC編譯器,需要安裝Mingw-w64,這是GCC在Windows下運(yùn)行的版本。在Mingw-w64官網(wǎng)可以開到不同的發(fā)行版本,一般來說推薦僅安裝官方的mingw-w64即可,但由于國內(nèi)網(wǎng)絡(luò)環(huán)境的原因,直接安裝mingw-w64可能是非常緩慢甚至難以成功的。這里選擇安裝mingw-w64的一個(gè)名為MSYS2的發(fā)行版進(jìn)行安裝,并通過清華大學(xué)開源軟件鏡像站進(jìn)行加速。
按照清華大學(xué)開源軟件鏡像站(或者USTC鏡像)的官方說明,在該網(wǎng)站MSYS2文件夾下的distrib/目錄下選擇相應(yīng)的名為msys2-<架構(gòu)>-<日期>.exe文件下載并安裝。一般建議直接安裝在 C:/msys2 目錄下。安裝完成后,在該目錄下查找并編輯以下文件,以使用清華開源站的軟件倉庫來代替默認(rèn)的海外倉庫:
編輯 /etc/pacman.d/mirrorlist.mingw32 ,在文件開頭添加:
Server=https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
編輯 /etc/pacman.d/mirrorlist.mingw64 ,在文件開頭添加:
Server=https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
編輯 /etc/pacman.d/mirrorlist.msys ,在文件開頭添加:
Server=https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
然后打開msys2.ext文件,在命令行執(zhí)行 pacman -Sy 刷新軟件包數(shù)據(jù).
pacman是arch linux下的包管理器,與centos下的yum或者ubuntu下的apt類似。要在msys2下查找并安裝linux兼容的軟件包,需要通過pacman進(jìn)行。
常用的pacman命令包括:
pacman -Sy 更新軟件包數(shù)據(jù)
pacman -R package-name 刪除軟件包
pacman -S package-name 安裝軟件包
pacman -Syu 更新所有
pacman -Ss xx 查詢軟件xx的信息
安裝gcc,gdb。可以根據(jù)需要選擇安裝32位或64位gcc,gdb發(fā)行版。
如果需要安裝32位軟件包。可輸入
pacman -S mingw32/mingw-w64-i686-gcc
pacman -S mingw32/mingw-w64-i686-gdb
如果要安裝64位包,可以相應(yīng)的改為mingw64/mingw-w64-x86_64-gcc等。也可以直接將gcc改為toolchain,可完整安裝整個(gè)工具鏈。
安裝完成后,需要將對(duì)應(yīng)的c:/msys2/mingw32/bin或者c:/msys2/mingw64/bin添加到windows系統(tǒng)路徑的path下。添加方式如下:
(Win+R并輸入control)打開控制面板-->系統(tǒng)-->高級(jí)系統(tǒng)設(shè)置
在彈出窗口中選擇高級(jí)-->環(huán)境變量,在下方的系統(tǒng)變量中尋找Path并雙擊。選擇新建并輸入上述路徑(msys2以及相應(yīng)的軟件包對(duì)應(yīng)的安裝路徑)
打開命令行,輸入下列命令,如果能看到相應(yīng)的版本信息,則說明安裝和路徑設(shè)置成功。
C:\Users\weizy>g++ --version
g++ (Rev1, Built by MSYS2 project) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
C:\Users\weizy>gdb --version
GNU gdb (GDB) 9.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
回到helloworld.cpp文件所在的目錄下,用vs code打開文件夾,選擇Terminal-->Configure Default Build Task(終端,配置默認(rèn)build任務(wù)),選擇c/c++: g++.exe build active file,會(huì)創(chuàng)建一個(gè)新的tasks.json文件。參考官網(wǎng)示例編輯該文件如下:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++.exe build active file",
"command": "C:\\msys2\\mingw32\\\bin\\g++.exe",
"args": ["-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe"],
"options": {
"cwd": "C:\\msys2\\mingw32\\bin"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
關(guān)閉task.json文件并回到helloworld.cpp文件(否則系統(tǒng)會(huì)認(rèn)為要編譯的文件是task.json)。選擇Terminal-->Tasks:Tun Build Task (終端-->任務(wù):執(zhí)行編譯任務(wù)),快捷鍵為Ctrl+Shift+B (這個(gè)快捷鍵和我的輸入法表情文件沖突,需要修改掉)。一切正常的話編譯會(huì)迅速完成,并在相同目錄下生成helloworld.exe文件。在終端運(yùn)行 .\helloworld.exe可以看到文件的輸出結(jié)果。
可參考微軟官方的WSL子系統(tǒng)安裝說明,從windows store或者命令行下載并安裝。windows server也可以下載并且手動(dòng)解壓縮和安裝。這里在windows商店中搜索并安裝ubuntu18.04版本。安裝過程中兩個(gè)常見的錯(cuò)誤及解決方案如下:
安裝完成后,在開始菜單中搜索Ubuntu即可打開WSL的ubuntu linux子環(huán)境,在命令行輸入bash也可直接進(jìn)入ubuntu bash‘中。第一次今進(jìn)入WSL子系統(tǒng)時(shí)需要設(shè)置Linux子系統(tǒng)的用戶名和密碼。
為了提高訪問速度,這里同樣使用清華大學(xué)開源軟件站的倉庫替換默認(rèn)的Ubuntu倉庫。方法為修改ubuntu文件/etc/apt/sources.list(修改前建議先備份該文件),將文件內(nèi)容替換為以下內(nèi)容,保存文件后輸入sudo apt-get update,即可通過清華大學(xué)開源軟件站倉庫更新軟件。
# 默認(rèn)注釋了源碼鏡像以提高 apt update 速度,如有需要可自行取消注釋
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# 預(yù)發(fā)布軟件源,不建議啟用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
在WSL子系統(tǒng)中輸入以下命令以安裝編譯環(huán)境。
sudo apt-get install build-essential gdb
安裝完成后可輸入以下命令檢查是否安裝成功。
whereis g++
whereis gdb
安裝完VS Code的Remote-WSL插件后,可以通過下列方式在VS Code中打開WSL子系統(tǒng)。
通過VS Code打開子系統(tǒng)后,同樣需要為WSL子系統(tǒng)安裝C/C插件,以實(shí)現(xiàn)后續(xù)的調(diào)試等功能。在插件欄中搜索C安裝即可。
和前一節(jié)類似地,在WSL中新建helloworld文件夾,并在其中新建helloworld.cpp文件。參考VS Code官網(wǎng)配置tasks.json文件如下。
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++ build active file",
"command": "/usr/bin/g++",
"args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
注意:
mkdir /mnt/d/wsl
ln -s /mnt/d/wsl ~/wsl
一般來說,程序設(shè)計(jì)不可能一蹴而就就可以編譯成功的。在編譯前可能需要大量的調(diào)試工作。和編譯類似,程序調(diào)試也需要在VS Code中進(jìn)行配置。選擇Run-->Add Configuration(運(yùn)行-->添加配置)添加配置,選擇C++(GDB/LLDB)(如果默認(rèn)沒有出現(xiàn),則需選擇最下面的more進(jìn)行安裝相應(yīng)插件)。在下拉菜單中選擇需要的編譯器,使用windows下的gcc時(shí)選擇g++.exe,使用WSL子系統(tǒng)時(shí)選擇g++ build and debug active file.截圖分別如下。
該選擇會(huì)生成不同的launch.json文件。在windows系統(tǒng)的gcc編譯器下launch.json文件如下(目錄已修改為和實(shí)際目錄一致)
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\msys2\\mingw32\\bin\\gdb.exe",
"setupCommands": [
{
"description": "為 gdb 啟用整齊打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++.exe build active file"
}
]
}
在WSL子系統(tǒng)下的lauch.json配置文件如下:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++ build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++ build active file",
"miDebuggerPath": "/usr/bin/gdb"
}
]
}
回到helloworld.cpp下,按F5或者選擇Run-->Start Debugging開始進(jìn)行程序調(diào)試。如果使用過Visual Studio或者其他IDE工具,就會(huì)發(fā)現(xiàn)其中的相似性,在程序段左側(cè)的代碼行數(shù)標(biāo)識(shí)左邊,可以通過鼠標(biāo)給程序打斷點(diǎn)(break point),這樣在調(diào)試時(shí)遇到相應(yīng)斷點(diǎn)會(huì)自動(dòng)停下,這在調(diào)試時(shí)都是很有用的功能。
關(guān)于調(diào)試另外一個(gè)很有用的功能是watch。在調(diào)試開始后,程序欄左側(cè)會(huì)出現(xiàn)watch窗口。在watch窗口中可以輸入想要監(jiān)視的變量,例如本例中的變量名為word的變量。雙擊watch窗口下的空白處并輸入watch,在程序步進(jìn)執(zhí)行(上圖中按鈕)時(shí),就可以看到隨著程序執(zhí)行,watch變量不斷變化的值。這個(gè)比起調(diào)試時(shí)用print輸出變量要方便又好用的多。