C/C++ 扩展日志记录
语言服务器和调试适配器均提供日志信息。如果您遇到我们无法根据问题报告中的信息诊断的问题,我们可能会要求您启用日志记录并发送您的日志。
语言服务器的日志信息直接发送到“输出”面板,调试适配器的日志信息直接发送到“调试控制台”。
为语言服务器启用日志记录
要为语言服务器开启完整日志记录,请遵循以下步骤:
-
打开命令面板并选择首选项:工作区设置。
-
在搜索框中搜索“logging”。
-
找到C_Cpp: 日志记录级别并将级别更改为调试。

-
从主菜单中,通过选择视图 > 输出打开“输出”面板。
-
在日志筛选器选择器中选择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 的来回通信,因为所有与调试器的通信都在进程内部完成,并且无法通过日志记录可见。