🚀 在 VS Code 中

C/C++ 擴充功能記錄

語言伺服器和偵錯配接器提供記錄資訊。如果您遇到問題,而我們無法根據您的問題報告中的資訊診斷,我們可能會要求您啟用記錄並將記錄傳送給我們。

記錄資訊會直接傳遞至語言伺服器的 [輸出] 面板,以及偵錯配接器的 [偵錯主控台]。

啟用語言伺服器的記錄

若要開啟語言伺服器的完整記錄,請依照下列步驟執行

  1. 開啟命令面板,然後選擇喜好設定:工作區設定

  2. 在搜尋方塊中搜尋「logging」。

  3. 尋找 C_Cpp:記錄層級,並將層級變更為 Debug

    Logging level

  4. 從主功能表,選擇檢視 > 輸出,開啟 [輸出] 面板。

  5. 在記錄篩選器選取器中選取 C/C++ 選項

    Log filter selector

啟用偵錯配接器的記錄

啟用偵錯配接器的記錄將會顯示 VS Code 和我們的擴充功能之間,以及我們的擴充功能和偵錯配接器之間的通訊資訊。

偵錯配接器的記錄組態是在 launch.json 中設定。

LLDB-MI 偵錯工具的記錄

macOS LLDB-MI 偵錯工具的記錄區塊及其預設組態位於 launch.json

"logging": {
    "trace": false,
    "traceResponse": false,
    "engineLogging": false
}

VS Code 和 CppTools 擴充功能

此處的記錄稱為 trace 記錄,可以透過在 launch.json 內的記錄區塊中將 tracetraceResponse 設定為 true 來啟用。這將有助於診斷與 VS Code 與我們的擴充功能之間的通訊以及我們的回應相關的問題。

CppTools 擴充功能和偵錯工具

CppTools 和偵錯工具之間的記錄稱為 engineLogging。當使用 MI 偵錯工具 (例如 gdblldb) 時,這會顯示使用 mi 直譯器的要求、回應和事件。此記錄將有助於我們判斷偵錯工具是否收到正確的命令並產生正確的回應。

Visual C++ 偵錯工具的記錄

Visual C++ 偵錯工具的記錄區塊及其在 launch.json 中的預設組態如下

"logging": {
    "engineLogging": false
}

Visual C++ 偵錯工具記錄將僅顯示與 VS Code 之間的通訊,因為與偵錯工具的所有通訊都在程序內部完成,並且無法透過記錄看見。