根據VisualGDB官網(https://visualgdb.com)的幫助文檔大致翻譯而成。主要是作為個人學習記錄。有錯誤的地方,Robin歡迎大家指正。
本文介紹如何將Linux機器上的Linux項目導入到VS中,並進行遠程構建和調試。我們首先把Midnight Commander的源碼下載到Linux機器上,然后將它們導入到VS中,最后在VS中直接進行遠程構建、調試和修改。我們使用VisualGDB向導來創建一個網絡共享並自動連接到Linux機器上。
為了嘗試本文中的步驟,你需要一台Windows機器和一台Linux機器:
- 兩個物理電腦;
- 一個Windows電腦及運行在其上的Linux虛擬機(使用VIRTUALBOX/VMWARE);
- 一個Linux電腦及運行在其上的Windows虛擬機(使用VIRTUALBOX/VMWARE)。
以下是處理步驟。
1 軟件安裝
在你的Windows電腦上安裝VS和VisualGDB。
2 源碼下載
在Linux電腦的home目錄下,運行如下命令來獲取Midnight Commander的源碼:
sudo apt-get build-dep mc
apt-get source mc
3 配置項目
下載源碼后,進入到新建的目錄下,使用默認settings來配置項目Midnight Commander:
cd mc-<VERSION>
./configure
4 啟動VisualGDB項目向導
在Windows機器上打開VS,選擇File->New Project,並找到VisualGDB項目向導:
5 輸入項目名稱,選擇路徑
輸入項目的名稱,並設定該項目要存儲的目錄地址,然后點擊”Press”:
6 導入項目
在下一頁選擇”Import a project”:
7 建立SSH連接
如果你之前沒有在這台電腦上使用過VisualGDB,就需要建立一個SSH連接(具體參考:使用VS來開發Linux程序)。如果之前在本電腦上使用過VisualGDB,只需要簡單的在列表中選擇機器就可以了:
8 測試工具鏈
點擊”Next”后,VisualGDB會對你的工具鏈進行一致性檢測。如果檢測到有包缺失,就會給出詳細的錯誤信息:
9 設定遠程機器上的源文件存儲位置
在本頁面需要設定遠程機器上的源文件的存儲位置,使用browse按鈕來設定:
10 設置VS訪問遠程源文件的方式
在本頁面,需要選擇VS訪問Linux機器上源文件的方式。推薦的方式是使用samba來共享一個文件夾。點擊”Setup”來自動完成:
11 登入(mount)共享Linux文件夾
如果要為每一個項目都創建一個單獨的共享文件夾,就有些多余了。所以我們只是共享一個父文件夾(本文中用的是home文件夾)。在這里你可以選擇任何有效的文件夾和共享名稱。
為防止非法用戶的訪問,可以設定用戶名和密碼來通過SMB訪問文件夾。VisualGDB會記住這個用戶名/密碼來自動建立連接。
12 連接時可能因為權限問題而失敗
點擊”OK”后,你很可能得到錯誤信息,錯誤信息中顯示你沒有權限來修改samba的配置。這個機制是設計好的:只有root用戶才可以在Linux上創建文件夾。點擊”yes”以root身份重新連接並重新共享文件夾:
13 源碼訪問方式及鏈路驗證
共享完成后,VisaulGDB向導將在頁面下方展示一個圖表,用以驗證這個設置和你期望的是否一致:
14 設置構建命令
在最后這個頁面,可以設定構建命令,VisualGDB用該命令來構建你的項目。現在還可以選擇main可執行程序,后面選擇也可以。
15 確認設置上一步設置的構建命令
如果你不太確定設置的構建命令及構建目錄,保存之前先點擊”Run build command now”按鈕來測試一下:
16 調試運行
點擊”Finish”后就可以創建你的項目了。現在可以使用Ctrl+Shift+B來構建項目,然后使用F5來開始調試。如果之前沒有選擇主執行程序,VisualGDB將會貼心地要求你現在來做:
然后點擊”browse”按鈕來尋找二進制可執行程序。對於mc程序,它位於src目錄下:
VisualGDB將會launch到你的程序,並在控制台窗口中顯示輸出。VisualGDB提供了一個和XTerm兼容的終端模擬器,所以你可以去像之前那樣使用鍵盤鼠標:
17 斷點查看回調
點擊”break all”按鈕來停止運行,並觀察回調:
18 各種調試技術
現在可以使用所有VS的調試技術:設置斷點,檢查棧回溯,watch窗口等。
完成調試后,按Shift-F5結束調試。