3
我试图调试一个segfault,我在一个多线程的qt webkit应用程序中获取。我安装了Python-DBG为了让我在gdb漂亮印花的目的,并获得启动python-dbg在调试时找不到Py_InitModule4
python2.7-dbg node.py
Traceback (most recent call last):
File "node.py", line 4, in <module>
import msgpack
File "/usr/lib/pymodules/python2.7/msgpack/__init__.py", line 3, in <module>
from msgpack._msgpack import *
ImportError: /usr/lib/pymodules/python2.7/msgpack/_msgpack.so: undefined symbol: Py_InitModule4
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python2.7/dist-packages/apport/__init__.py", line 1, in <module>
from apport.report import Report
File "/usr/lib/python2.7/dist-packages/apport/report.py", line 20, in <module>
import apport.fileutils
File "/usr/lib/python2.7/dist-packages/apport/fileutils.py", line 22, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python2.7/dist-packages/apport/packaging_impl.py", line 20, in <module>
import apt
File "/usr/lib/python2.7/dist-packages/apt/__init__.py", line 21, in <module>
import apt_pkg
ImportError: /usr/lib/python2.7/dist-packages/apt_pkg.so: undefined symbol: Py_InitModule4
Original exception was:
Traceback (most recent call last):
File "node.py", line 4, in <module>
import msgpack
File "/usr/lib/pymodules/python2.7/msgpack/__init__.py", line 3, in <module>
from msgpack._msgpack import *
ImportError: /usr/lib/pymodules/python2.7/msgpack/_msgpack.so: undefined symbol: Py_InitModule4
我得到同样的事情,当我运行一个版本不msgpack使用脚本以下错误.. 。
Traceback (most recent call last):
File "scraper.py", line 2, in <module>
from planeswalker import PlaneswalkerParser
File "/var/www/rails_projects/MCPro.com/lib/planeswalker/planeswalker.py", line 2, in <module>
from PyQt4.QtCore import *
ImportError: /usr/lib/python2.7/dist-packages/PyQt4/QtCore.so: undefined symbol: Py_InitModule4
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python2.7/dist-packages/apport/__init__.py", line 1, in <module>
from apport.report import Report
File "/usr/lib/python2.7/dist-packages/apport/report.py", line 20, in <module>
import apport.fileutils
File "/usr/lib/python2.7/dist-packages/apport/fileutils.py", line 22, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python2.7/dist-packages/apport/packaging_impl.py", line 20, in <module>
import apt
File "/usr/lib/python2.7/dist-packages/apt/__init__.py", line 21, in <module>
import apt_pkg
ImportError: /usr/lib/python2.7/dist-packages/apt_pkg.so: undefined symbol: Py_InitModule4
Original exception was:
Traceback (most recent call last):
File "scraper.py", line 2, in <module>
from planeswalker import PlaneswalkerParser
File "/var/www/rails_projects/MCPro.com/lib/planeswalker/planeswalker.py", line 2, in <module>
from PyQt4.QtCore import *
ImportError: /usr/lib/python2.7/dist-packages/PyQt4/QtCore.so: undefined symbol: Py_InitModule4
在这两种情况下它看起来Py_InitModule4 ...任何想法的Python专家?代码运行良好(除了segfault以后)与普通python 2.7
如果有一个更容易的方式来在gdb中获得漂亮的打印我也打开。基本上只是寻找一个python风格stacktrace