
使用 Vscode 配合 Lldb 进行调试
通过搜索一般得到的推荐是安装额外的插件:https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb
这里提供另外一种形式,通过安装 llvm-mi 支持 cppdbg 实现;
- 问题
一般通过 launch.json
配置:
{
...
"MIMode": "lldb",
"miDebuggerPath": "/data/server/compiler/bin/lldb",
...
}
启动调试时会发生错误:
error: unknown option: --interpreter=mi
error: unknown option: --tty=/dev/pts/1
Use 'lldb --help' for a complete list of options.
- 解决
在已经安装了 lldb
后,还需要额外编译安装 lldb-mi
组件(不是标准 llvm-projects
的一部分),:https://github.com/lldb-tools/lldb-mi
wget -O lldb-mi-main.zip https://github.com/lldb-tools/lldb-mi/archive/refs/heads/main.zip
unzip lldb-mi-main.zip
cd lldb-mi-main/
mkdir stage
cd stage
CC=/data/server/compiler/bin/clang CXX=/data/server/compiler/bin/clang++ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/data/server/compiler -DCMAKE_PREFIX_PATH=/data/server/compiler ../
make -j8
make install
注意:
-DCMAKE_PREFIX_PATH=/data/server/compiler
指定依赖的 lldb 安装路径(参考 新版本 GCC / LLVM 安装 安装)-DCMAKE_INSTALL_PREFIX=/data/server/compiler
合并安装;
并调整配置:
{
...
"miDebuggerPath": "/data/server/compiler/bin/lldb-mi",
...
}
- 参考
奇怪为什么这个链接在文档中没有入口… https://code.visualstudio.com/docs/cpp/lldb-mi