Первое: Segmentation fault
- сложная проблема для разработчиков.Для эффективной обработки используйте обработчик ошибок .Это часть Python v.3.x, но вы можете установить его в Python v.2.x, используя pip .Но иногда лучше использовать фильтр событий Register - для виджета, для которого нужно отслеживать сигнальные события.Вот пример для мыши (просто чтобы посмотреть, как она выглядит):
# IT IS JUST AN EXAMPLE (NOT A SOLUTION)
def eventFilter(self, source, event):
if event.type() == QEvent.MouseButtonPress:
if source == self.txtEditor :
pos=event.pos()
cursor=self.txtEditor.cursorForPosition(pos)
cursor.select(QTextCursor.WordUnderCursor)
txtClicked=cursor.selectedText()
self.testCommand(str(txtClicked))
return QMainWindow.eventFilter(self, source, event)
Второй: вы можете использовать Модуль Python Debugger :
python -m pdb yourScript.py
Третье: для вовлеченных потоков (но вы сказали, что нет вовлеченных потоков).
shutdown (exit) can hang or segfault with daemon threads running