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++ 调试器的日志记录
launch.json
中带有其默认配置的 Visual C++ 调试器的日志记录块如下所示
"logging": {
"engineLogging": false
}
Visual C++ 调试器日志记录将仅显示与 VS Code 的通信,因为与调试器的所有通信都在进程内部完成,并且不会通过日志记录显示。