根據VisualGDB官網(https://visualgdb.com)的幫助文檔大致翻譯而成。主要是作為個人學習記錄。有錯誤的地方,Robin歡迎大家指正。
1 復雜問題的直觀解決方案
只需要輕點幾下鼠標,就可以使用VisualGDB輕松地去完成如下任務:
- 創建新的Linux項目;
- 導入已經存在的項目;
- Attach到一個進程上;
- 調試已經構建好的可執行程序;
- 打開崩潰dump文件。
能夠以如下方式來構建和調試代碼:
- 直接在Linux平台上構建和調試代碼;
- 使用交叉編譯器,在Windows平台上構建和調試代碼;
- 從一台Linux機器上構建和調試另一台機器上的代碼。
VisualGDB能夠進行源碼上傳、二進制部署、IntelliSense部署、配置驗證等等,從而使你將精力集中到代碼上。
2 支持流行boards的交叉工具鏈
VisualGDB自帶交叉工具鏈(cross-toolchains),能夠支持許多流行的Linux boards,比如Raspberry Pi。當你在向導中選擇一種board后,VisualGDB就可以對其自動下載和配置。
它可以處理部署、調試、符號(symbols),並提供一個簡單的接口來同步你的toolchain和設備之間的sysroot。
3 高級的CMake項目子系統
VisualGDB引入了部分程度匹配的CMake。使用Solution Explorer來管理復雜的CMake項目,而不需要手動編輯CMakeLists.txt文件,也不需要記住相應的語法:
- 查看/編輯單獨的targets和源文件;
- 使用VS屬性頁來編輯通用配置;
- 為每個target來配置deployment settings;
- 查看/設置targets之間的關系。
還要維護兩個並行的項目系統?忘掉這些吧!只要使用高級的CMake,就可以讓VisualGDB來為你處理CMakeLists.txt文件。
4 強大的Linux profiler
VisualGDB包括一個強大的、基於valgrind的Linux profiler。它擁有以下特性:
- 高度優化的、高可擴展性的profiling database format;
- 直觀報告視圖,能夠即時搜索和能力排序;
- 方便的annotation mode,能夠展示源碼中每行代碼的性能消耗,並對函數之間的運行時關系進行可視化顯示。
5 集成流行的構建系統(build systems)
VisualGDB能夠使用GNU Make、CMake、Qt QMake來創建Linux項目,也能夠導入已經存在的項目。強大的GUI界面能夠掌控各種復雜的配置,並為你處理IntelliSense,讓你不再為此擔心。
可以輕松地導入復雜的CMake項目。VisualGDB能夠為此自動配置IntelliSense,無論你的CMake文件多么的復雜。
6 源碼同步更加簡單
VisualGDB能夠完全勝任自動化的文件同步工作:
- 將改動的源文件自動上傳到Linux機器上;
- 在Windows或Linux平台上能夠自動配置共享文件夾;
- 為了更快的響應IntelliSense運行,緩存Linux include目錄;
- 當你step into到一個缺失的源文件時,能夠幫你自動下載這個文件。
對於使用了高級CMake子系統的項目,VisualGDB能夠通過SSH方式直接訪問源文件。
7 內置於Visual Studio的SSH客戶端
享用內置的、和xterm兼容的、基於SmarTTY的終端:
- 在一個強大的終端模擬器中查看你的程序輸出;
- 只需輕輕一點,就能打開一個后台SSH shell;
- 可以雙向快速發送文件或整個目錄;
- 支持鼠標、功能鍵;
- 可以從任何主機選擇對話框登錄到一個多tab頁的SSH客戶端;
- 通過重用SSH連接,快速構建和調試程序。
8 無縫集成單元測試
對於開箱即用的Linux項目,VisualGDB支持CPPUTest和GoogleTest框架。
無論你是想遠程構建項目,或者想使用本地的交叉工具鏈(cross-toolchain),你都可以使用常規的Test Explorer窗口來運行Linux機器上的測試用例。
一個單獨的、帶有XML報告的命令行模式,使得持續集成簡單直接。
9 直觀的代碼覆蓋分析
在VisualGDB項目屬性頁(Project Properties)使能項目的代碼覆蓋報告(code coverage reporting),就可以享用直觀的覆蓋報告(coverage reports),從而通過簡單的搜索、過濾、排序以及高亮顯示,來幫助你即時定位代碼中缺失的部分。
VisualGDB使用一個高度優化的coverage database format。即便是對於大型的項目,都可以及時搜索和高亮顯示。
10 動態程序分析
VisualGDB包括對Valgrid動態分析的支持。通過VisualGDB Project Properties就可以使能這個特性,然后就可以快速檢查程序中的問題,如難以跟蹤的內存訪問錯誤問題,內存泄漏,狀態條件競爭,不正確地使用同步原語,以及其他更多的場景。
VisualGDB能自動安裝、配置Valgrind,使你不再擔心PIDs、Valgrind prefixes、以及多用戶同時使用的問題。
11 使用VisualKernel進行內核模式調試
使用單獨的、基於VisualGDB引擎的產品VisualKernel,可輕松地構建、調試你的Linux內核模塊。