Russian Qt Forum
Ноябрь 22, 2024, 22:57
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Многопоточное программирование, процессы
>
Ошибка: Debug Assertion Failed(нарушение дебаженой кучи)
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Ошибка: Debug Assertion Failed(нарушение дебаженой кучи) (Прочитано 12408 раз)
timocov
Гость
Ошибка: Debug Assertion Failed(нарушение дебаженой кучи)
«
:
Октябрь 06, 2013, 21:54 »
Доброго времени суток!
Столкнулся с такой проблемой:
Запускаю приложение, отрабатывает как нужно, но после закрытия выскакивает окно с ошибкой(в прикр. файле)
Уже несколько дней бьюсь, не могу понять почему. Примерно знаю после чего такая ерунда, но как исправить не знаю.
Помогите, кто может.
В прикрепленном файле проект, Qt4
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Ошибка: Debug Assertion Failed(нарушение дебаженой кучи)
«
Ответ #1 :
Октябрь 06, 2013, 22:44 »
наверное где-то удаляешь уже удаленный указатель, проверь свои free/delete
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
timocov
Гость
Re: Ошибка: Debug Assertion Failed(нарушение дебаженой кучи)
«
Ответ #2 :
Октябрь 06, 2013, 22:56 »
Так в том то и дело, что ничего не удаляю, практически.
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Ошибка: Debug Assertion Failed(нарушение дебаженой кучи)
«
Ответ #3 :
Октябрь 06, 2013, 23:13 »
компилятор от visual studio 2012, никаких ошибок не вываливается при завершении. но при запуске под дебаггером вылазит 2 предупреждения (это наверное какие-то системные):
Цитировать
:0: warning: Exception at 0x7510c41f, code: 0x6ba: RPC server unavailable, flags=0x1 (execution cannot be continued) (first chance)
когда открывается окно выбора папки и
Цитировать
:0: warning: Exception at 0x7510c41f, code: 0x406d1388: Startup complete, flags=0x0 (first chance)
где-то в процессе прохода по папкам.
попробуй может очистить полностью проект и поудалять все build-папки.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
timocov
Гость
Re: Ошибка: Debug Assertion Failed(нарушение дебаженой кучи)
«
Ответ #4 :
Октябрь 06, 2013, 23:23 »
Очищал, удалял. Под убунтой тоже ложится.
У меня она отваливается когда сканирую весь диск C. Очень много файлов, видимо. Но только на нем ложится.
Даже не только целый диск. Например, папку c:\Windows
«
Последнее редактирование: Октябрь 06, 2013, 23:31 от timocov
»
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Ошибка: Debug Assertion Failed(нарушение дебаженой кучи)
«
Ответ #5 :
Октябрь 06, 2013, 23:34 »
Цитата: timocov от Октябрь 06, 2013, 23:23
У меня она отваливается когда сканирую весь диск C. Очень много файлов, видимо. Но только на нем ложится.
Даже не только целый диск. Например, папку c:\Windows
с этого и надо было начать. так у меня тоже вываливается ошибка. вот стек на всякий случай:
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
timocov
Гость
Re: Ошибка: Debug Assertion Failed(нарушение дебаженой кучи)
«
Ответ #6 :
Октябрь 06, 2013, 23:49 »
Думал проблема в QReadWriteLock, заменил на QMutex. Не помогло(
Что можете посоветовать? Или тут проблема очевидна?
Update:
Думал, может ошибка в том, что InfoCollectThread наследуется от QObject.
Переписал все на обработку событий вместо сигналов/слотов - эффекта нет(
«
Последнее редактирование: Октябрь 07, 2013, 03:00 от timocov
»
Записан
timocov
Гость
Re: Ошибка: Debug Assertion Failed(нарушение дебаженой кучи)
«
Ответ #7 :
Октябрь 07, 2013, 03:30 »
Метод тыка показал, что проблема в удалении объектов DirectoryTreeItem.
Только вот если не удалять, утечка будет((
Записан
Bepec
Гость
Re: Ошибка: Debug Assertion Failed(нарушение дебаженой кучи)
«
Ответ #8 :
Октябрь 07, 2013, 06:51 »
Может вы сначала удаляете родителя, а потом пытаетесь детей? Родитель сам беспокоится о детях.
Записан
timocov
Гость
Re: Ошибка: Debug Assertion Failed(нарушение дебаженой кучи)
«
Ответ #9 :
Октябрь 07, 2013, 10:57 »
Я вообще не удаляю - предоставляю это QTreeWidget
«
Последнее редактирование: Октябрь 07, 2013, 11:07 от timocov
»
Записан
timocov
Гость
Re: Ошибка: Debug Assertion Failed(нарушение дебаженой кучи)
«
Ответ #10 :
Октябрь 07, 2013, 12:05 »
А что, если объекты DirectoryTreeItem создаются в других потоках, а удаляются в главном?
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Ошибка: Debug Assertion Failed(нарушение дебаженой кучи)
«
Ответ #11 :
Октябрь 07, 2013, 19:29 »
GUI-компоненты не могут существовать в других потоках кроме основного (это есть в документации по Qt)
Записан
Юра.
timocov
Гость
Re: Ошибка: Debug Assertion Failed(нарушение дебаженой кучи)
«
Ответ #12 :
Октябрь 08, 2013, 00:34 »
В общем. Не знаю что точно помогло. Но сделал DirectoryTreeItem наследником от QObject(ну и удалять стал QObject::deleteLater()), и добавил отдельный класс для отображения на экране, и вроде работает.
Всем спасибо, кто помогал.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...