这是我第一次体验 lldb 的命令行模式。不成功。
- 使用 clang、lld、lldb v5 (ubuntu 16.04) 安装了最小套件
- 使用 clang 构建的示例应用程序。
- 尝试开始:
lldb applcation
>run
error: process launch failed: unable to locate lldb-server-5.0.0
那么现在的问题是:
- 为什么 lldb 尝试运行服务器?这不是远程调试。
- 为什么 lldb 引用 5.0.0(以及在哪里更改此设置)?实际上,所有 llvm 实用程序都自动添加了带有 xxx-5.0 后缀的符号链接(symbolic link),但没有 xxx-5.0.0。如果这是指 lldb-server 本身,没有后缀,那将是合理的。
- 添加 lldb-server-5.0.0 符号链接(symbolic link)不能解决问题。
知道这应该如何工作吗?
顺便说一句额外的问题 - 似乎左/右/上/下箭头键在 lldb 控制台中不起作用?它不是移动光标,而是添加一个代码
(lldb) ^[[D^[[A^[[C^[[B
最佳答案
这是一个 known bug with LLDB 5.0 ,显然与 Debian 包装有关。解决方法与评论中链接的问题相似,但不相同。 (是的,有这个确切的问题,我已经确认了解决方案。)
strace
揭示了问题...
1887 26838 access("/usr/lib/llvm-5.0/bin/lldb-server-5.0.0", F_OK) = -1 ENOENT (No such file or directory)
这准确地指出了需要该符号链接(symbolic link)的位置。修复它就像一个终端命令一样简单...
$ sudo ln -s /usr/bin/lldb-server-5.0 /usr/lib/llvm-5.0/bin/lldb-server-5.0.0
关于c++ - lldb 没有启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46164427/