校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 解決VScode配置遠程調試Linux程序的問題

解決VScode配置遠程調試Linux程序的問題

熱門標簽:電銷機器人對公司貢獻 濟源電話外呼系統怎么樣 智能外呼系統如何部署 蘭州語音電銷機器人軟件 電話機器人服務差 高德地圖標注在建線路 山東400電話如何辦理 宿州防封外呼系統廠家 ai電銷機器人 如何開發

下面看下VScode遠程調試Linux程序的問題,具體內容如下,一起看看吧!

最近在Linux上調程序,但是gdb使用屬于入門階段,主要是沒有圖形化界面直觀。在網上查找了有兩個方案可選,一個是通過VisualStudio2019的遠程調試功能,因為最近一直在用VScode,所以沒有試,之后有時間了可以試一下。另一個方案就是通過VScode的Remote Development插件(微軟官方提供的)進行遠程調試。本文介紹下這個方案。
雖然網上也有其他的文章進行介紹,但是都是寫的成功的情況,沒有寫出來過程遇到的問題,而且有些地方不太清楚。所以我覺得自己寫一個。另外請大家注意的是,這篇文檔介紹的是遠程調試,并不介紹遠程編譯,遠程調試VScode也是支持的,但是我目前不需要,后續如果需要再做配置,而且我的項目需要使用cmake及make進行編譯,并不是直接用g++編譯,所以也沒有開始配置。
VScode的遠程調試是利用gdbserver的機制進行的。大體原理是通過在Windows上或者其他圖形化系統上的VScode,使用Remote Development插件進行ssh連接到遠程Linux上,然后通過gdbserver提供的連接進行遠程調試。下面開始介紹具體配置方式。

需要的軟件及插件

首先肯定需要安裝gdb和gdbserver,大家根據自己遠程系統的類別進行安裝就行了。我用的Ubuntu,默認已經安裝了。命令如下:

sudo apt install gdb
sudo apt install gdbserver

其次需要安裝VScode的Remote Development插件,官方的C/C++插件。對于這個C/C++插件等遠程連接到Linux上之后,還需要安裝到遠程Linux上。可以看我下面的截圖,在插件的卸載按鈕旁邊有個“已在SSH:x.x.x.x上啟用擴展”,這是已經安裝過的。后面到連接成功后介紹安裝方法。

遠程連接

在安裝了Remote Development插件后,就可以遠程連接Linux了,ssh的連接方式有兩種,一種是賬戶密碼。還有一種是公私鑰連接。這里推薦使用公私鑰連接,因為后面遠程調試過程會多個地方連接,需要多次輸入密碼比較麻煩,使用公私鑰的話只需要配置一次就可以了,非常方便。仍然選擇賬戶密碼連接的可以跳過此處。ssh遠程配置方法比較簡單,但是在Windows上有個大問題。

首先在遠程Linux上生成公私鑰對:

# 執行下面命令,然后根據提示生成公私鑰對。
ssh-keygen -t rsa

# 公鑰直接在生成路徑中保存,然后轉存為authorized_keys
# 存儲到用戶的.ssh目錄中,一般在生成的時候,默認路徑就是用戶的.ssh目錄
# 假設生成的公鑰是 "vscode_rsa.pub",最后注意權限設置,默認不需要改。
cat /home/user/.ssh/vscode_rsa.pub >> /home/user/.ssh/authorized_keys
chmod 644 /root/.ssh/authorized_keys

# 私鑰下載到Windows機器里
# 假設路徑是 "D:/.ssh/vscode_rsa"

到這里都是沒有問題的。現在需要在VScode中配置連接了。
安裝完Remote Development插件后,在VScode最左邊有個遠程資源管理器圖標,如下圖所示,然后選擇SSH Targets,點擊加號,按照user@ip的格式添加,然后根據提示會看到遠程連接的配置文件?;蛘咧苯釉谙旅娼缑嫔霞犹柵赃叺凝X輪,直接打開配置文件,按照下面的格式添加,在IdentityFile后面添加私鑰的路徑:

Host x.x.x.x
 HostName x.x.x.x
 User username
 IdentityFile D:/.ssh/vscode_rsa

然后就可以在原先的文件瀏覽界面,打開遠程的文件夾。但是在配置好進行連接的時候,VScode的終端報錯了:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'vscode_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "vscode_rsa": bad permissions

根本原因是私鑰的權限問題。這要是在Linux里,直接使用chmod,就可以修改,修改為644即可,但是windows,就稍微麻煩點。

解決辦法:

在私鑰上右擊選擇屬性,然后選擇【安全】選項卡,然后點擊下面的【高級】按鈕,然后在新彈出的窗口下方點擊【禁用繼承】,然后點擊繼承那個按鈕上面的【添加】按鈕重新將當前window登錄用戶設置為私鑰的所有者,并勾選所有權限。最后跟下面一樣即可:

這時再次打開VScode遠程連接,就沒有問題了。

遠程調試

VScode設置

首先需要將剛才說的C/C++插件安裝到遠程Linux上,安裝方法簡單,點擊插件,在已安裝插件里面可以看到有的插件會有一個【在SSH:IP】的綠色提示,找到C/C++插件,點擊那個綠色提示,將其安裝到遠程Linux上。安裝完之后,重新啟動VScode,最好也重新啟動遠程Linux,因為我就是沒有啟動,在后面操作的時候,VScode提示找不到所選的調試器類型,也不會自動根據你選的調試器生成launch.json文件。但是如果你不重啟也能成功的話,最好。
然后打開VScode的資源管理器,就是左側最上面那個瀏覽文件的,會提示打開遠程文件夾,這時只需要按提示打開需要調試的程序所在的文件夾即可。

然后在菜單欄里選擇運行->添加配置,會彈出提示選擇調試環境,這是選擇【C++ GDB/LLDB】那個即可自動生成launch.json文件。如下:

{
 // 使用 IntelliSense 了解相關屬性。 
 // 懸停以查看現有屬性的描述。
 // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
 "version": "0.2.0",
 "configurations": [
 {
  "name": "(gdb) 啟動",
  "type": "cppdbg",
  "request": "launch",
  "program": "${workspaceFolder}/program",
  "args": [],
  "stopAtEntry": true,
  "cwd": "${workspaceFolder}",
  "environment": [],
  "externalConsole": false,
  "MIMode": "gdb",
  "setupCommands": [
  {
   "description": "為 gdb 啟用整齊打印",
   "text": "-enable-pretty-printing",
   "ignoreFailures": true
  }
  ]
 }
 ]
}

如果沒有自動生成,則說明VScode沒有識別環境,你安裝的插件還沒有生效,所以需要重啟VScode以及遠程Linux。
生成的launch.json文件需要修改的地方就是program字段,${workspaceFolder}是指你剛才打開的遠程文件夾,只需要在后面指定待調試程序的名稱即可。stopAtEntry字段,默認是false,這是指開始調試的時候是否在main函數斷點,所以改為true。其他使用默認的就行,也不需要添加什么。

遠程Linux開啟gdbserver

在遠程Linux上開啟gdbserver,開啟方式如下:

#gdbserver localhost:<port> <program> <args>
gdbserver localhost:2333 /path/to/myprogram arg1 arg2

注意端口號不要改,VScode連接的時候默認就是用的這個端口號。然后在VScode中直接按F5就可以調試了,gdb會自動查看源代碼的,所以你這個待調試的程序最好是debug版的。

參考文章:

https://warmgrid.github.io/2019/05/21/remote-debug-in-vscode-insiders.html

https://superuser.com/questions/1296024/windows-ssh-permissions-for-private-key-are-too-open

到此這篇關于解決VScode配置遠程調試Linux程序的問題的文章就介紹到這了,更多相關VScode遠程調試Linux程序內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:佛山 畢節 巴中 南寧 云南 安陽 晉中 衡水

巨人網絡通訊聲明:本文標題《解決VScode配置遠程調試Linux程序的問題》,本文關鍵詞  解決,VScode,配置,遠程,調試,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《解決VScode配置遠程調試Linux程序的問題》相關的同類信息!
  • 本頁收集關于解決VScode配置遠程調試Linux程序的問題的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    久久久91精品国产一区二区三区| 色国产精品一区在线观看| 久久国产精品99精品国产| 国产露脸91国语对白| av在线播放成人| 欧美日韩一区三区| 日韩精品中文字幕一区| 国产亚洲一区二区在线观看| 亚洲六月丁香色婷婷综合久久| 午夜精品视频在线观看| 国产成人精品影视| 欧美日韩精品一区二区三区蜜桃 | 日本二三区不卡| 欧美巨大另类极品videosbest | 一区二区三区欧美视频| 精品一区二区三区的国产在线播放 | 亚洲mv在线观看| 国产suv精品一区二区三区| 制服丝袜亚洲精品中文字幕| 国产日韩精品一区二区浪潮av| 亚洲一区二区在线观看视频| 国产二区国产一区在线观看| 欧美日本一区二区| 一区二区三区国产精品| 成人av影视在线观看| 久久欧美中文字幕| 美脚の诱脚舐め脚责91 | 欧美一区在线视频| 亚洲已满18点击进入久久| 成人国产精品免费观看视频| 日韩美女主播在线视频一区二区三区| 香蕉成人啪国产精品视频综合网| 色一情一乱一乱一91av| 一区二区三区在线视频播放| 欧美日韩高清一区二区三区| 国产在线不卡视频| 一个色综合网站| 日本一区二区三区dvd视频在线| 日本大香伊一区二区三区| 日本伊人色综合网| 日韩精品一区二区在线| 亚洲成人在线观看视频| 亚洲国产岛国毛片在线| 欧美伊人久久久久久久久影院 | 国产网站一区二区三区| www.激情成人| 久久疯狂做爰流白浆xx| 一区二区三区免费| 国产精品日韩成人| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲愉拍自拍另类高清精品| 久久久久久久性| 日韩美女在线视频| 欧美视频精品在线观看| 99久久综合99久久综合网站| 国产在线播放一区二区三区| 亚洲国产sm捆绑调教视频| 精品日韩一区二区三区| 日本va欧美va精品| 日韩欧美中文字幕制服| 粉嫩蜜臀av国产精品网站| 亚洲综合色视频| 中文字幕av不卡| 欧美色综合网站| 奇米影视一区二区三区| 亚洲人成网站在线| 国产亚洲短视频| 日韩欧美一区二区不卡| 一本大道av一区二区在线播放| 麻豆一区二区99久久久久| 一区二区免费视频| 亚洲少妇最新在线视频| 国产亚洲精品免费| 久久久久久一二三区| 精品国产区一区| 欧美一级二级三级乱码| 欧美二区三区的天堂| 欧美在线制服丝袜| 欧美网站一区二区| 欧美在线不卡一区| 欧美日韩一级大片网址| 欧美三级午夜理伦三级中视频| 99精品国产热久久91蜜凸| 成av人片一区二区| 成人精品在线视频观看| 高清成人免费视频| 99riav一区二区三区| 色婷婷久久久久swag精品| 91麻豆国产福利在线观看| av成人免费在线| 欧美在线观看一区| 日韩欧美成人一区| 欧美韩国日本一区| 亚洲最新视频在线播放| 日韩在线a电影| 丁香婷婷综合网| 色哟哟亚洲精品| 日韩午夜在线影院| 国产蜜臀av在线一区二区三区| 国产精品理论片在线观看| 亚洲国产美国国产综合一区二区| 麻豆中文一区二区| 91在线看国产| 日韩欧美一级二级| 亚洲免费在线电影| 国产91富婆露脸刺激对白| 日本精品免费观看高清观看| 26uuuu精品一区二区| 亚洲一区二区三区国产| 国产成人自拍在线| 日韩免费视频一区二区| 五月综合激情日本mⅴ| 99久久久国产精品| 亚洲国产成人自拍| 国产做a爰片久久毛片| 欧美精品成人一区二区三区四区| 国产精品国产三级国产普通话蜜臀| 天堂一区二区在线| 欧美日韩日日骚| 一区二区三区四区视频精品免费| 国产一区二区伦理片| 欧美mv日韩mv国产网站app| 日韩 欧美一区二区三区| 欧美性色欧美a在线播放| 亚洲视频免费在线| 99久久综合国产精品| 一区二区中文字幕在线| 99精品视频在线播放观看| 国产精品国产三级国产aⅴ入口| 国产在线国偷精品免费看| 亚洲精品一区二区在线观看| 国产99久久久国产精品免费看| 26uuu久久综合| 99久久99久久精品国产片果冻 | 日韩激情一区二区| 91麻豆精品91久久久久久清纯| 午夜一区二区三区视频| 7777女厕盗摄久久久| 精品中文字幕一区二区小辣椒| 日韩一区二区不卡| 国产一区二区在线看| 国产精品福利一区| 欧美三级日韩三级国产三级| 亚洲一区中文在线| 久久久精品综合| 欧美在线free| 国产91精品免费| 污片在线观看一区二区| 久久久久久97三级| 欧美羞羞免费网站| 国产剧情一区二区| 亚洲国产欧美一区二区三区丁香婷| 91精品国产综合久久香蕉麻豆| 老司机精品视频在线| 中文字幕人成不卡一区| 欧美成人一区二区三区在线观看| 91在线免费看| 成人网在线播放| 久久精品理论片| 无吗不卡中文字幕| 中文字幕一区二区三区不卡在线| 日韩欧美国产高清| 欧美撒尿777hd撒尿| 色网综合在线观看| av亚洲产国偷v产偷v自拍| 久久黄色级2电影| 奇米影视7777精品一区二区| 五月天中文字幕一区二区| 亚洲情趣在线观看| 综合电影一区二区三区 | 韩国v欧美v日本v亚洲v| 奇米在线7777在线精品| 亚洲18女电影在线观看| 亚洲国产精品欧美一二99| 一区二区三区中文在线观看| 亚洲嫩草精品久久| 亚洲一区二区三区四区五区中文| 国产精品美女久久久久av爽李琼 | 久久成人免费网| 麻豆国产精品777777在线| 免费看黄色91| 久久国产精品一区二区| 久久国产尿小便嘘嘘尿| 韩国v欧美v日本v亚洲v| 成人av资源网站| 91精品办公室少妇高潮对白| 欧美剧在线免费观看网站 | 精品制服美女丁香| 男男gaygay亚洲| 不卡的av在线播放| 精品视频在线免费看| 精品国产一区二区三区四区四| 国产午夜亚洲精品午夜鲁丝片| 1024国产精品| 美日韩一级片在线观看| 91视频观看视频| 精品国产一区二区亚洲人成毛片| 国产精品三级视频| 午夜精品福利一区二区蜜股av| 国产美女一区二区|