我有点不知所措。我有一个相当大的应用程序,我通常通过命令行运行:
python3 scanner.py
运行正常。
但是当我使用小播放按钮通过PyCharm运行它时,我收到以下消息:
/usr/bin/python3 /home/cherubim/Projects/Argus/scanner.py
Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
我使用完全相同的脚本设置配置,完全相同的Python版本,具有完全相同的环境变量(具体为PYTHONPATH)。
使用print-statements(调试模式在停止任何断点之前给出SIGSEGV)我已经将错误跟踪到这行代码:
from PyQt5.QtCore import Qt, QCoreApplication, QEvent, QUrl, pyqtProperty, pyqtSignal, pyqtSlot, QLocale, QTranslator, QLibraryInfo, QT_VERSION_STR, PYQT_VERSION_STR
不知何故,导入似乎在通过PyCharm运行时会产生段错误,但在通过命令行单独运行时则不会。通常在这一点上我得到gdb来调试PyQt中发生错误的位置。但是,显然通过gdb运行PyCharm时这不起作用。
如何调试?
我正在运行PyCharm 2017.1.1,Python 3.5.2,PyQt 5.8.2和Qt 5.8.0。