Я не уверен, правильно ли сформулирован заголовок моего вопроса, поэтому, чтобы объяснить, что я действительно имею в виду, рассмотрим следующий пример:
Я создаю QApplication
и QWidget
с QPushButton
на нем. Затем я прикрепляю обработчик к сигналу щелчка от кнопки, которая выглядит так:
void MyWidget::on_pushButton_clicked(){
//Never return
while(true);
}
Наконец, я запускаю цикл событий для приложения, и когда я запускаю программу, и окно появляется, нажмите кнопку.
Это в моем случае остановит все приложение. Итак, мой вопрос на этом этапе заключается в том, как я могу "обнаружить", что этот вид зависания произошел в моем приложении из кода?
Я знаю, что писать код, который не возвращается в обработчик сигнала, - это плохая практика, я задаю этот вопрос, потому что хочу обнаружить ошибки и восстановить их, возможно, полностью перезапустив приложение, чтобы повысить устойчивость при производстве.
Спасибо!