crossplatform.ru

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


  Ответ в Ошибка при закрытии программы.
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
silver47 Дата 11.9.2011, 8:52
  Была когда-то консольной. С ней как раз проблем не было, после того как прикрутил ГУИ c треем, вот все и началось.
Litkevich Yuriy Дата 11.9.2011, 8:47
  а программа не консольная?
silver47 Дата 11.9.2011, 8:19
  Эмм... кажется вопрос закрыт. Не совсем понимаю причем тут это.

В общем, создавался отдельный поток и запускался на выполнение не с помощью thread->start(); а напрямую: thread->run();. Заменил второе на первое и все как рукой сняло. Уже полчаса как не могу повторить вылет.

P.S. посоветуйте литературу про потоки на Qt.
silver47 Дата 11.9.2011, 5:23
  Это 100% попытка доступа к памяти, возвращенной в кучу. Но указатель d, это не моё, это QMutex. Моё подчеркнуто красным, там всего 2 файла.
Алексей1153 Дата 11.9.2011, 0:06
  exception code 0xc0000005 - это попытка залезть в чужую память. Это либо выход за край динамического массива, либо попытка доступа к возвращённому в кучу блоку памяти

судя по всему, объект, на который указывает (-вал) указатель d - капут

ещё вариант (для дебага актуально ) - неинициализированный указатель. он там у тебя не нулевой, а что-нибудь вроде 0xcccccccc
RazrFalcon Дата 11.9.2011, 0:01
  Я хз, но может
if (d->recursive()) { ...
silver47 Дата 10.9.2011, 22:35
  Скрин ошибки в файле 2.png
Файл 1.png содержит скрин дебагера сразу после вылета. Красным подчернул два моих метода.

Да приложение многопоточное, но потоки к тому моменту, как происходит вылет, уже отработали, завершились и были удалены (через сигнал fihished и слот deleteLater).

Понимаю, что наверняка, пытаюсь уничтожить то, что уничтожено ранее, но не знаю как это найти.
RazrFalcon Дата 10.9.2011, 22:22
  Копипаст текста ошибки в студию.
silver47 Дата 10.9.2011, 21:48
  Доброго времени суток. При закрытии программы, случается, что появляется сообщение о том, что программа выполнила недопустимую операцию и тд по списку. Научите, пожалуйста, как её отловить.

Qt 4.7.4 + QtCreator 2.3.0
Window 7
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 13.1.2025, 5:45