Russian Qt Forum

Qt => Общие вопросы => Тема начата: burunduk от Февраль 13, 2007, 13:52



Название: Qt-объекты в обработчике SEH не работают, что можно сделать?
Отправлено: burunduk от Февраль 13, 2007, 13:52
Установил обработчик фатальных исключений, типа используем неправильный участок памяти (access violation), деление на 0, etc.

Всё хорошо, но вот ничего Qt-ное там не работет, будь то даже qDebug() или QMessageBox::critical().  Что там такое страшное случается ?

WINAPI ф-ции вроде работают


Название: Qt-объекты в обработчике SEH не работают, что можно сделать?
Отправлено: Admin от Февраль 13, 2007, 14:30
код в студию


Название: Qt-объекты в обработчике SEH не работают, что можно сделать?
Отправлено: burunduk от Февраль 13, 2007, 14:46
пожалуйста:

Код:


#include <windows.h>
#include <QtGui>
#include "Widget.h"


LONG WINAPI MyFilter(struct _EXCEPTION_POINTERS* ExceptionInfo) {
  qDebug() << "vot"; // виснет
  QMessageBox::critical(0, "aaa", "bbb"); // и тут тоже
  // и на других ф-циях Qt
  return 1;
}


int main(int argc, char* argv[]) {
  SetUnhandledExceptionFilter(MyFilter);
  QApplication app(argc, argv);
  Widget w;  // в этом виджете генерирую исключение
  w.show();
  app.exec();  
  return 0;
}


Название: Qt-объекты в обработчике SEH не работают, что можно сделать?
Отправлено: Lion от Февраль 13, 2007, 22:24
При сборке Qt есть опция, которой можно включить или открючить обработку исключений, может здесь собака порылась?