【发布时间】:2018-04-30 08:44:56
【问题描述】:
我正在调试一个基于pygtk 的python 程序,我想确保该程序使用的是正确的共享库。
pygtk 是 python 的 GTK+ 包装器。我已经使用jhbuild 工具编译了GTK+,我想确保我正在调试的python 脚本使用来自jhbuild 的编译库。
可以像这样导入gtk 和pygtk:
import gtk
import pygtk
print(gtk.__file__)
# /usr/lib/python2.7/site-packages/gtk-2.0/gtk/__init__.pyc
print(pygtk.__file__)
# /usr/lib/python2.7/site-packages/pygtk.pyc
例如,我可以使用 gtk 显示一个窗口:
w = gtk.Window()
w.show()
这将使用 gtk 在屏幕上绘制一个窗口。但是我不知道使用了哪个共享对象。我安装了很多版本,我需要找到罪魁祸首。
【问题讨论】:
-
你试过使用
ldd了吗? -
不,我没有。使用
ldd可以找出python 脚本正在使用哪个库吗?实际上python是如何决定使用哪个共享对象的? -
它没有。加载器会。
-
也试试这个:)
https://lldb.llvm.org/scripting.html
标签: python gtk shared-libraries pygtk jhbuild