现已推出!阅读有关 11 月的新功能和修复的信息。

C/C++ 扩展日志记录

日志记录信息可用于语言服务器和调试适配器。如果您遇到我们无法根据您的问题报告中的信息诊断的问题,我们可能会要求您启用日志记录并将日志发送给我们。

日志记录信息直接发送到语言服务器的“输出”面板和调试适配器的“调试控制台”。

为语言服务器启用日志记录

要为语言服务器启用完整日志记录,请按照以下步骤操作

  1. 打开 命令面板,然后选择 首选项:工作区设置

  2. 在搜索框中搜索“日志记录”。

  3. 找到 C_Cpp:日志记录级别,并将级别更改为 调试

    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。使用 gdblldb 等 MI 调试器时,这将使用 mi 解释器显示请求、响应和事件。此日志记录将帮助我们确定调试器是否收到正确的命令并生成正确的响应。

Visual C++ 调试器的日志记录

Visual C++ 调试器的日志记录块及其在 launch.json 中的默认配置如下

"logging": {
    "engineLogging": false
}

Visual C++ 调试器日志记录将仅显示与 VS Code 的通信往返,因为与调试器的所有通信都在进程内部完成,并且无法通过日志记录查看。