根據VisualGDB官網(https://visualgdb.com)的幫助文檔大致翻譯而成。主要是作為個人學習記錄。有錯誤的地方,Robin歡迎大家指正。
本文將會闡述如何使用VisualGDB來構建和調試Linux應用程序:涉及到哪些工具,以及它們之間是如何交互的。
后續博文會介紹如何使用VisualGDB來一步步構建Linux應用程序。
使用VisualGDB來構建和調試Linux應用程序涉及到兩台電腦:一台是運行VS的Windows電腦,另一台是能夠進行SSH訪問的Linux系統電腦。
VisualGDB將如下任務無縫集成到VS中:
- 構建你的項目;
- 調試應用程序;
- 對Linux include文件進行IntelliSense支持。
1 源文件位置
使用VS創建基於VisualGDB的Linux項目時,VisualGDB向導允許你選擇一個Linux電腦上的目錄,該目錄用於在Linux電腦上存儲該項目。每個源文件會有兩個實例:一個在Windows電腦上,另一個在Linux電腦上。默認的Linux目錄是:/tmp/VisualGDB/<ProjectName>。
2 構建項目(build the project)
當使用VS構建Linux項目時,VisualGDB將會在后台做如下事情:
(1) 檢查你是否添加、刪除、重命名了源文件,如果是,就會自動更新Makefile文件;
(2) 檢查是否引用了任何使用VisualGDB構建的庫項目,如果是,則將其更新到Makefile文件中;
(3) 如果你要重新構建該項目,或者Linux電腦上不存在目標目錄,那么所有的源文件將會發送到Linux電腦上。否則,VisualGDB只會檢查最后一次構建之后哪些文件有了變化,並將這些變化了的文件發送到Linux電腦上;
(4) 最后,VisualGDB將會在Linux電腦上發起GNU make命令,從而讓其構建你的應用程序;
(5) 如果GNU make或gcc報告了錯誤,VisualGDB將錯誤信息轉換成VS格式,並顯示到錯誤面板上。Linux文件名稱會自動轉換成相應的Windows文件名稱。
3 調試應用程序
在VS中,當你使用GDB選擇Debug->Start Debugging,VisualGDB將會在Linux電腦上發起一個gdb實例,並在后台控制它。使用VisualGDB進行調試,和使用VS調試一個普通的Windows應用程序沒有什么區別:單步,watch窗口,調用棧,內存,匯編及其他的特性。VisualGDB會處理文件名稱的轉換。
然后,還可以通過GDB會話窗口來查看向GDB發送了哪些命令。如果你習慣了命令行調試,還能夠發送你自己的命令。
4 IntelliSense支持
當你要創建或引入一個Linux項目,VisualGDB將會從遠程電腦上查詢標准的inclue文件位置,並將它們拷貝到你的Windows電腦上,然后添加到該項目的IntelliSense include位置。於是,code suggestion將會像Windows項目一樣地工作。通過使用VisualGDB Project Properties窗口或Source Cache Manager,你也可以控制緩存目錄。