CMake調(diào)試器出爐:調(diào)試你的CMake腳本
Visual Studio 開發(fā)團(tuán)隊一直和 Kitware 緊密合作,致力于開發(fā)一個用于調(diào)試 CMake 腳本的調(diào)試器。
我們將繼續(xù)這個工作,以便開發(fā)人員社區(qū)可以通過添加新功能和對其他 DAP 功能的支持來共同改進(jìn)它。
我們很高興地宣布,CMake 調(diào)試器的預(yù)覽版現(xiàn)在可用于調(diào)試 Visual Studio 17.6 預(yù)覽版 1 中任何 CMake 項目的 CMake 腳本和 CMakeLists.txt 文件。
若要啟動 CMake 調(diào)試會話,可以在解決方案資源管理器中右鍵單擊 CMakeLists.txt 文件或從“項目”下拉菜單中選擇“使用 CMake 調(diào)試器配置 [項目名稱]”。
當(dāng)項目上的 CMake 緩存生成失敗時,還可以使用“調(diào)試”鏈接在解決方案資源管理器中啟動 CMake 調(diào)試器會話。
CMake 調(diào)試器主要功能
可以根據(jù)文件名、行號或在 CMakeLists.txt 文件中觸發(fā) CMake 錯誤和警告時設(shè)置斷點(diǎn),方法是像往常一樣單擊代碼行左側(cè)的邊距或使用“斷點(diǎn)”和“異常設(shè)置”。使用這些斷點(diǎn),可以單步執(zhí)行、跳過和退出斷點(diǎn),也可以像普通調(diào)試器一樣暫?;蚶^續(xù)執(zhí)行范圍。
如上所示,可以使用 CMake 調(diào)試器中的調(diào)用堆棧查看與調(diào)試過程關(guān)聯(lián)的文件名和行。還可以決定希望調(diào)試器自動中斷哪些類型的錯誤和警告。
可以通過“局部變量”窗口查看不同 CMake 緩存變量的狀態(tài)。 然后,你可以通過右鍵單擊定義的變量或通過“監(jiān)視”窗口來設(shè)置對定義的變量的監(jiān)視。目前,這不包括函數(shù)或宏參數(shù)。
使用限制
目前,CMake 調(diào)試器僅適用于與 Visual Studio 捆綁在一起的 CMake 版本。目前還不支持面向 WSL 或遠(yuǎn)程計算機(jī)的項目。當(dāng)我們的調(diào)試器工作進(jìn)入上游 CMake 時,我們將使此功能可用于 WSL 和遠(yuǎn)程計算機(jī)。
未來的工作重點(diǎn)
我們正在努力添加以下功能:
> 在讀取或?qū)懭胱兞恐禃r設(shè)置斷點(diǎn)
> 查看當(dāng)前定義的目標(biāo)、目錄和測試的狀態(tài)及其屬性
> 向調(diào)試器體驗(yàn)添加常規(guī)改進(jìn)
總結(jié)
一直以來,都對大型 CMake 腳本比較恐懼。
我想恐懼根源是:不知道這么大堆玩意到底在干嘛。有了這個調(diào)試器,恐懼似乎沒有那么大了:畢竟可以單步走一走。
最后
Microsoft Visual C++團(tuán)隊的博客是我非常喜歡的博客之一,里面有很多關(guān)于Visual C++的知識和最新開發(fā)進(jìn)展。大浪淘沙,如果你對Visual C++這門古老的技術(shù)還是那么感興趣,則可以經(jīng)常去他們那(或者我這)逛逛。
本文來自:《CMake debugger allows you to debug your CMake scripts and more》