C/C++ 扩展日志记录

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

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

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

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

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

  2. 在搜索框中搜索“logging”。

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

    日志级别

  4. 从主菜单中,通过选择查看 > 输出来打开输出面板。

  5. 在日志过滤器选择器中选择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中的日志记录块中将tracetraceResponse设置为true来启用。这将有助于诊断与VS Code与我们扩展的通信以及我们的响应相关的问题。

CppTools 扩展和调试器

CppTools 和调试器之间的日志记录称为 engineLogging。当使用诸如 gdblldb 这样的 MI 调试器时,这将使用 mi 解释器显示请求、响应和事件。此日志记录将帮助我们确定调试器是否接收到正确的命令并生成正确的响应。

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

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

"logging": {
    "engineLogging": false
}

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