crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Отключение исключения, Qt 4.3.2 and Visual Studio 2005
AD
  опции профиля:
сообщение 7.10.2008, 9:32
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


У меня очередной вопрос! :)

[attachment=267:err_message.JPG]

Как и где правильно отключить следующее падение программы: падает только в дебаг-режиме. При этом если нажать "Ignore", то он продолжит нормально работать. В релизе такой ошибки совсем нет. Как отключить это исключение и где?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
LE0N
  опции профиля:
сообщение 2.4.2009, 22:19
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 97
Регистрация: 10.3.2009
Из: Беларусь
Пользователь №: 604

Спасибо сказали: 0 раз(а)




Репутация:   0  


Внутрь того, где возникла ошибка посмотреть слабо ? Наверняка ведь assert ы выставленны. Или нам нужно, как и тебе, на кофейной гуще гадать? )
ЗЫ. Вот не понятно, почему все сидят на древних версиях :)
Я так понял - потому, что они коммерческие. НО...Троли когда продают, не обеспечивают поддержкой обнавлениями????
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 2.4.2009, 22:29
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(LE0N @ 2.4.2009, 23:19) *
Внутрь того, где возникла ошибка посмотреть слабо ? Наверняка ведь assert ы выставленны. Или нам нужно, как и тебе, на кофейной гуще гадать? )
ЗЫ. Вот не понятно, почему все сидят на древних версиях :)
Я так понял - потому, что они коммерческие. НО...Троли когда продают, не обеспечивают поддержкой обнавлениями????

За обновление надо платить! Не так дорого, но и недешево! ;) В стране кризис, в фирме - тоже!

Вы сможете помочь исправить код библиотеки? :)
qglobal.cpp
#if defined(Q_CC_MSVC) && defined(QT_DEBUG) && defined(_DEBUG) && defined(_CRT_ERROR)
        // get the current report mode
        int reportMode = _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW);
        _CrtSetReportMode(_CRT_ERROR, reportMode);
        int ret = _CrtDbgReport(_CRT_ERROR, __FILE__, __LINE__, QT_VERSION_STR, buf);
        if (ret == 0  && reportMode & _CRTDBG_MODE_WNDW)
            return; // ignore
        else if (ret == 1)
            _CrtDbgBreak();
#endif




void qFatal(const char *msg, ...)
{
    char buf[QT_BUFFER_LENGTH];
    buf[QT_BUFFER_LENGTH - 1] = '\0';
    va_list ap;
    va_start(ap, msg); // use variable arg list
    if (msg)
        qvsnprintf(buf, QT_BUFFER_LENGTH - 1, msg, ap);
    va_end(ap);

    qt_message_output(QtFatalMsg, buf);
}

void qt_assert(const char *assertion, const char *file, int line)
{
    qFatal("ASSERT: \"%s\" in file %s, line %d", assertion, file, line);
}


qlayoutengine_p.h
int effectiveSpacer(int uniformSpacer) const {
        Q_ASSERT(uniformSpacer >= 0 || spacing >= 0);
        return (uniformSpacer >= 0) ? uniformSpacer : spacing;
    }

Ну если Вы готовы помочь, то вот код. Что дальше? Разбирать баги библиотеки, согласитесь, что этим заниматься - не самое благодарное занятие?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.12.2024, 21:05