首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在python脚本中导入lldb

如何在python脚本中导入lldb
EN

Stack Overflow用户
提问于 2015-06-16 14:03:23
回答 4查看 7.7K关注 0票数 5

根据LLDB主页,LLDB可以在这样的python脚本中导入:

代码语言:javascript
运行
复制
import lldb

在从发布包(在Lubuntu 15.04: sudo After install LLDB上)安装lldb之后,我得到以下错误:

代码语言:javascript
运行
复制
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/lldb/__init__.py", line 52, in <module>
_lldb = swig_import_helper()
File "/usr/lib/python2.7/dist-packages/lldb/__init__.py", line 44, in swig_import_helper
ImportError: No module named _lldb

这是意料之中的!LLDB页面上写着:

lldb具有Python脚本功能,并提供自己的Python模块LLDB。如果脚本在命令行lldb应用程序中运行,Python模块将自动可用。但是,如果脚本要由命令行应用程序外部的Python解释器运行,则可以使用PYTHONPATH环境变量让Python解释器查找lldb模块。 使用-P标志:调用命令行lldb工具可以获得正确的路径。出口PYTHONPATH=$llvm/build/Debug+Asserts/bin/lldb -P 如果使用不同的构建目录或发布版本,则可能需要调整上面的内容以满足您的需要。

因此,那些有足够信心自己构建LLDB的人得到了一个明确的指示,而那些只想使用发布的软件包的人则会给出一个模糊的解释。

有没有人知道在最基本的情况下,从发布包安装所有东西时,“调整上面的内容以满足您的需要”的确切含义?lldb -P报告的路径不能解决问题:

代码语言:javascript
运行
复制
user@user-VirtualBox:~$ lldb -P
/usr/lib/x86_64-linux-gnu/python2.7/site-packages
user@user-VirtualBox:~$ ls /usr/lib/x86_64-linux-gnu/python2.7/site-packages
ls: cannot access /usr/lib/x86_64-linux-gnu/python2.7/site-packages: No such file or directory
EN

Stack Overflow用户

发布于 2022-05-14 03:38:19

https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1972855

启动lldb会导致以下情况发生:

代码语言:javascript
运行
复制
$ lldb
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'lldb.embedded_interpreter'
(lldb)

例如,这会导致QtCreator出现问题,当尝试使用lldb调试任何东西时,这个问题就会停止。

$ lldb -P给出了以下路径:

代码语言:javascript
运行
复制
/usr/lib/local/lib/python3.10/dist-packages

然而,这条道路并不存在:

代码语言:javascript
运行
复制
$ ls -l /usr/lib/local/lib/python3.10/dist-packages
ls: cannot access '/usr/lib/local/lib/python3.10/dist-packages': No such file or directory

不过,python3-lldb-14包提供了这个路径:

代码语言:javascript
运行
复制
/usr/lib/llvm-14/lib/python3.10/dist-packages/

创建一个从/usr/lib/llvm-14/lib/python3.10/dist-packages/usr/lib/local/lib/python3.10/dist-packages的符号链接可以使事情如愿以偿:

代码语言:javascript
运行
复制
sudo ln -s /usr/lib/llvm-14/lib/python3.10/dist-packages /usr/lib/local/lib/python3.10/dist-packages

$ ls -l /usr/lib/local/lib/python3.10/dist-packages && lldb
lrwxrwxrwx 1 root root 45 May 10 15:23 /usr/lib/local/lib/python3.10/dist-packages -> /usr/lib/llvm-14/lib/python3.10/dist-packages
(lldb)
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30869945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档