Linux環(huán)境下VSCode怎么進(jìn)行調(diào)?下面本篇文章給大家分享VScode 調(diào)試教程,介紹一下tasks.json和launch.json的設(shè)置方法,希望對大家有所幫助!
運行環(huán)境:
VSCode 1.68.1
wsl:ubuntu子系統(tǒng)
廢話不多說,直接開整,首先選擇左側(cè)任務(wù)欄的第四個選項?!就扑]學(xué)習(xí):vscode教程、編程教學(xué)】運行和調(diào)試,點擊創(chuàng)建launch.json
創(chuàng)建好的界面如上圖所示。點擊右下角的添加配置
此時如上圖所示,選擇第一個c/c++(gdb)啟動
此時會生成如上圖所示代碼,注意我畫箭頭的這兩個地方,那個cwd是我們當(dāng)前文件所在的工作目錄,把畫箭頭的這兩個地方改成一樣的
改完后如上圖所示,后面的a.out是我們一會兒要調(diào)試的可執(zhí)行文件名稱,這里用系統(tǒng)生成的也行,改成自己的也行,接下來我們開始配置tasks.json
首先回到main.cpp,然后點擊上方菜單欄的終端,選擇最后一個配置默認(rèn)生成任務(wù)
此時如上如所示,再選擇第二個c/c++:g++生成活動文件
此時如上圖所示,生成tasks.json,接著我們打開launch.json做一個比較,我們先在launch.json后面加一行代碼"preLaunchTask",這行代碼意思就是在launch之前運行的任務(wù)名,這個名字一定要跟tasks.json中的任務(wù)名字寫一致,如下圖所示,tasks.json中的label要和launch.json中的preLaunchTask完全一致,因為在執(zhí)行l(wèi)aunch.json之前系統(tǒng)會根據(jù)這行代碼先去執(zhí)行tasks.json中的內(nèi)容,可以簡單理解為tasks.json中的代碼會幫我們用g++/gcc編譯生成可執(zhí)行文件,而launch.json中的代碼是讓系統(tǒng)來調(diào)試我們的可執(zhí)行文件。
接下來看到tasks.json中的文件,如下圖所示,其中的command 配置 , 是指定編譯器 , 一般是 gcc 或者 g++ 編譯器 ,接著下面的args是編譯器后的編譯選項,注意這個-g意思就是編譯出帶調(diào)試信息的可執(zhí)行文件,如果少了這個-g,生成的可執(zhí)行文件就不能夠調(diào)試了,下面的main.cpp和swap.cpp是要編譯的文件名,-0參數(shù)指定生成可執(zhí)行文件的名字,下一行就是生成可執(zhí)行文件的位置在當(dāng)前的工作目錄,名字叫a.out
如下圖所示,大家注意,文中的畫箭頭部分,這兩個起的名字要一樣,左邊的是生成可執(zhí)行文件叫a.out右邊的是調(diào)試的文件叫a.out,名字可以自己更換
所以tasks.json實際上就相當(dāng)于幫我們完成了g++ -g main.cpp swap.cpp -o a.out的操作
配置好上面的文件后,回到main.cpp設(shè)置自己的斷點,然后按F5鍵進(jìn)行調(diào)試,成功啦