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

主頁 > 知識庫 > 解決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"

到這里都是沒有問題的?,F在需要在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程序的問題的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲精品免费在线播放| 免费看欧美女人艹b| 美国十次了思思久久精品导航| 91麻豆免费观看| 中国色在线观看另类| 99久久99久久综合| 一区二区在线电影| 欧美探花视频资源| 亚洲愉拍自拍另类高清精品| 欧美无砖砖区免费| 日本成人在线一区| 久久久精品综合| 色诱亚洲精品久久久久久| 亚洲午夜电影在线观看| 欧美喷潮久久久xxxxx| 一区二区久久久久| 精品免费一区二区三区| 成人中文字幕合集| 亚洲精品成a人| 精品日韩成人av| 一本色道久久加勒比精品| 日本欧美在线看| 国产精品每日更新在线播放网址| 一本大道久久a久久精二百| 久久精品国产一区二区三 | 欧美日韩在线播放三区四区| 美女视频黄久久| 亚洲品质自拍视频网站| 制服丝袜中文字幕亚洲| 国产成人精品影视| 日韩在线一区二区三区| 国产精品三级电影| 6080yy午夜一二三区久久| 99国产精品国产精品久久| 久久se精品一区精品二区| 亚洲国产一区二区在线播放| 国产精品色一区二区三区| 日韩欧美国产综合在线一区二区三区| 色综合久久综合网欧美综合网| 国产成人精品一区二| 麻豆精品一区二区三区| 亚洲bt欧美bt精品| 亚洲综合丝袜美腿| 亚洲精选视频在线| 亚洲美女淫视频| 亚洲欧美一区二区视频| 国产日韩av一区| 日韩精品一区国产麻豆| 91精品在线一区二区| 欧美性xxxxxxxx| 在线免费观看日本一区| 色综合久久久久| 91麻豆国产自产在线观看| 成人a区在线观看| 国产成人av自拍| 国产成人免费视频网站高清观看视频 | 成人免费av网站| 国产不卡视频在线观看| 韩国成人精品a∨在线观看| 玖玖九九国产精品| 韩国一区二区三区| 国产白丝精品91爽爽久久| 国精产品一区一区三区mba桃花 | 99国产精品99久久久久久| 成人h动漫精品一区二区| 不卡免费追剧大全电视剧网站| 懂色av一区二区三区免费观看| jlzzjlzz国产精品久久| 色综合色狠狠天天综合色| 欧美视频日韩视频在线观看| 欧美女孩性生活视频| 欧美日韩免费电影| 精品少妇一区二区三区日产乱码 | 欧美麻豆精品久久久久久| 欧美日韩高清一区二区| 欧美一级二级在线观看| 久久亚洲一区二区三区明星换脸 | 欧美日韩电影在线| 精品国产123| 国产精品欧美一级免费| 一区二区国产盗摄色噜噜| 天天av天天翘天天综合网色鬼国产 | 精品在线免费视频| 国产乱码精品1区2区3区| 成人毛片在线观看| 欧美精品一区二区三区蜜桃视频 | 国产一区亚洲一区| 99久久久精品| 欧美一级二级三级蜜桃| 日韩一区欧美一区| 男人的天堂亚洲一区| 成人精品视频网站| 9191久久久久久久久久久| 久久久.com| 亚洲高清视频中文字幕| 国产久卡久卡久卡久卡视频精品| 91久久精品网| 中文幕一区二区三区久久蜜桃| 亚洲va韩国va欧美va精品 | 欧美自拍偷拍午夜视频| 337p日本欧洲亚洲大胆精品| 亚洲综合久久久久| 国产高清在线观看免费不卡| 欧美日韩三级一区| 国产精品久久久久久久浪潮网站| 人妖欧美一区二区| 色94色欧美sute亚洲线路一久| 精品成人私密视频| 日本在线不卡视频一二三区| 99re亚洲国产精品| 中文字幕精品一区二区三区精品| 男女男精品视频| 欧美久久一二三四区| 亚洲欧美激情一区二区| 成人中文字幕电影| 久久一区二区三区国产精品| 日韩不卡一区二区三区| 91久久奴性调教| 一区二区三区日韩精品| 色综合久久99| 一区二区三区在线高清| 91麻豆精品在线观看| 亚洲视频在线一区| aaa亚洲精品| 国产精品亲子伦对白| 成人免费毛片嘿嘿连载视频| 欧美电影免费观看高清完整版在线| 亚洲一区二区三区在线播放| 91免费观看视频在线| 国产精品传媒在线| 成人美女视频在线看| 国产精品系列在线| 91在线视频免费观看| 一区二区三区在线视频免费| 在线看日本不卡| 一区二区高清免费观看影视大全 | 国产精品国产三级国产专播品爱网| 蜜桃视频在线观看一区二区| 欧美在线视频你懂得| 一区二区三区高清| 欧美国产日韩亚洲一区| 日韩午夜小视频| 久久奇米777| 精品理论电影在线| 日韩精品一区二区在线观看| 91精品国产综合久久久久| 在线影院国内精品| 99久久久精品| 亚洲精品成人少妇| 欧美精品v国产精品v日韩精品| 日本成人中文字幕| 精品国产伦一区二区三区免费| 国产一区欧美一区| 国产精品久久777777| 在线观看亚洲一区| 麻豆精品一区二区综合av| 国产视频视频一区| 色香蕉成人二区免费| 亚洲综合色区另类av| 日韩女优av电影| 成人黄色片在线观看| 亚洲影院在线观看| 日韩视频一区在线观看| 亚洲乱码国产乱码精品精的特点| 欧美日韩一级片网站| 久久精品免费观看| 中文字幕一区二区在线播放| 欧美在线观看视频一区二区| 午夜国产精品一区| 久久综合九色综合欧美就去吻| www.成人在线| 日日骚欧美日韩| 国产精品毛片久久久久久| 91精品久久久久久久久99蜜臂| 国产黄人亚洲片| 日产国产欧美视频一区精品| 中文字幕欧美激情一区| 在线成人av网站| 一本在线高清不卡dvd| 久久99精品国产.久久久久| 一个色妞综合视频在线观看| 国产欧美一区二区精品久导航| 欧美日韩国产一级二级| 成人精品视频一区二区三区| 理论电影国产精品| 午夜国产精品一区| 亚洲精品精品亚洲| 欧美国产精品劲爆| 日韩视频永久免费| 欧美色综合久久| 91亚洲永久精品| 国产自产视频一区二区三区| 天天色天天操综合| 亚洲综合色婷婷| 1区2区3区欧美| 欧美激情一区二区在线| 2022国产精品视频| 欧美大片在线观看| 欧美一级日韩一级| 3d动漫精品啪啪一区二区竹菊|