我正在尝试编写pyqt5应用程序。它在插槽(即回调)中从Python端抛出异常,响应用户单击按钮。我用
运行应用程序python -m pdb myapp.py
以
开头# myapp.py
import sys
from PyQt5.QtCore import pyqtRemoveInputHook
pyqtRemoveInputHook()
from PyQt5.QtWidgets import QApplication, QWidget
from views import MainWindow
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
根据this question。我在程序启动时收到调试器提示,然后按c继续。但是当崩溃发生时,我得到一个堆栈跟踪,然后是核心转储。如果我使用ipdb运行,核心转储不会发生,但程序会在它进入调试器之前锁定。
如果错误在回调中,似乎无法调试pyqt5程序,尽管如果我记得这在pyqt4中工作正常。如何让Python调试器使用pyqt5?