C/C++ 擴充套件日誌記錄
日誌記錄資訊可用於語言伺服器和除錯介面卡。如果您遇到我們無法根據您的問題報告中的資訊進行診斷的問題,我們可能會要求您啟用日誌記錄並向我們傳送日誌。
日誌記錄資訊直接傳遞到語言伺服器的“輸出”面板和除錯介面卡的“除錯控制檯”。
為語言伺服器啟用日誌記錄
要為語言伺服器開啟完整日誌記錄,請按照以下步驟操作
-
開啟命令面板並選擇首選項:工作區設定。
-
在搜尋框中搜索“logging”。
-
找到C_Cpp: Logging Level並將級別更改為Debug。

-
從主選單中,透過選擇檢視 > 輸出開啟“輸出”面板。
-
在日誌過濾器選擇器中選擇C/C++選項

為除錯介面卡啟用日誌記錄
為除錯介面卡啟用日誌記錄將顯示 VS Code 與我們的擴充套件之間以及我們的擴充套件與除錯介面卡之間的通訊資訊。
除錯介面卡的日誌記錄配置在 launch.json 中配置。
LLDB-MI 偵錯程式的日誌記錄
macOS LLDB-MI 偵錯程式的日誌記錄塊及其預設配置位於 launch.json 中
"logging": {
"trace": false,
"traceResponse": false,
"engineLogging": false
}
VS Code 和 CppTools 擴充套件
這裡的日誌記錄稱為 trace 日誌記錄,可以透過在 launch.json 內的日誌記錄塊中將 trace 和 traceResponse 設定為 true 來啟用。這將有助於診斷與 VS Code 到我們擴充套件的通訊以及我們的響應相關的問題。
CppTools 擴充套件和偵錯程式
CppTools 和偵錯程式之間的日誌記錄稱為 engineLogging。當使用 MI 偵錯程式(例如 gdb 或 lldb)時,這將使用 mi 直譯器顯示請求、響應和事件。此日誌記錄將幫助我們確定偵錯程式是否正在接收正確的命令並生成正確的響應。
Visual C++ 偵錯程式的日誌記錄
Visual C++ 偵錯程式在 launch.json 中的預設配置的日誌記錄塊如下所示
"logging": {
"engineLogging": false
}
Visual C++ 偵錯程式日誌記錄將僅顯示與 VS Code 的通訊,因為與偵錯程式的所有通訊都在程序內部完成,並且透過日誌記錄不可見。