Mismatch between lldb and clang on vscode
奇怪,今天嘗試在 vscode 中使用 lldb live debug 一個 C++ 程式,斷點下好後卻卡住了。
Console 的錯誤訊息是:bind: Invalid command `enable-meta-key’.
上網查了一下,貌似 vscode、 QtCreator 都有災情。
- https://github.com/vadimcn/vscode-lldb/issues/141
- https://bugreports.qt.io/browse/QTCREATORBUG-21615
追了一下才發現,自己的環境有兩份 clang ,分別是 6.0 和 8.0 。單純抄 vscode + C/C++ 的官方文件可能會導致 compiler 和 debugger 的版本不合,另外 miDebugerPath 似乎也要更新成使用 lldb-mi 版本,不然會有以下錯誤。
warning: ignoring unknown option: --interpreter=mi
warning: ignoring unknown option: --tty=/dev/pts/19
最終可用環境是:
ubuntu Ubuntu 18.04.1 LTS
vscode 1.42.1
C/C++ Extension 0.26.3
lldb 8
clang 8
{
"MIMode": "lldb",
"miDebuggerPath": "/usr/bin/lldb-mi-8"
}