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 的通訊,因為所有與偵錯程式的通訊都在程序內部完成,並且無法透過日誌記錄可見。