Mismatch between lldb and clang on vscode

Mismatch between lldb and clang on vscode

奇怪,今天嘗試在 vscode 中使用 lldb live debug 一個 C++ 程式,斷點下好後卻卡住了。

Console 的錯誤訊息是:bind: Invalid command `enable-meta-key’.

上網查了一下,貌似 vscode、 QtCreator 都有災情。

  1. https://github.com/vadimcn/vscode-lldb/issues/141
  2. 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"
}

沒有留言:

MiniFilter InstanceSetupCallback is not called?

一般來說,MiniFilter 的 InstanceSetupCallback 會在 filter manager 把 minifilter attache 到 volume 後呼叫。如果沒有的話,可以檢查一下 minifilter 的 INF 是否把 instance fla...