Russian Qt Forum
Ноябрь 24, 2024, 06:12
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Нужен совет по отладке
Страниц:
1
2
[
3
]
4
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Нужен совет по отладке (Прочитано 33324 раз)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Нужен совет по отладке
«
Ответ #30 :
Июнь 03, 2017, 08:31 »
Ну вообще-то "утечки" и "вылет" взаимосвязаны лишь иногда. Находить утечки в любом случае полезно, но это не гарантирует устранение вылета.
А вот вставить проверки кучи (есть ли битые блоки) очень даже к месту. В MSVC что-то есть. но помню смутно, только что ужасно корявое
Хотя и это ничего не гарантирует (куча сможет быть Ok), но все же это конкретный шаг который можно сделать за день-два
Лучший способ - получить больше информации об ошибке (я все время повторяюсь
)
Записан
Ced
Гость
Re: Нужен совет по отладке
«
Ответ #31 :
Июнь 03, 2017, 09:00 »
Цитата: Igors от Июнь 03, 2017, 08:31
Ну вообще-то "утечки" и "вылет" взаимосвязаны лишь иногда. Находить утечки в любом случае полезно, но это не гарантирует устранение вылета.
А вот вставить проверки кучи (есть ли битые блоки) очень даже к месту. В MSVC что-то есть. но помню смутно, только что ужасно корявое
Хотя и это ничего не гарантирует (куча сможет быть Ok), но все же это конкретный шаг который можно сделать за день-два
Лучший способ - получить больше информации об ошибке (я все время повторяюсь
)
1. На счет взаимосвязи утечек и ошибки конечно же согласен, но в данном случае она есть. Каждый раз, находя утечку, я продвигаюсь. Программа работает дольше. Кроме того, без отладчика программа работает существенно дольше, чем под отладчиком. Очевидно. это связано с тем. что отладчик отъедает часть памяти.
2. К сожалению не знаю, как сделать проверку битого блока. Если посоветуете. буду весьма признателен.
3. Я так и не смог выйти в отладчике точно к месту падения. Оно меняется в зависимости от степени подробности отладки.
Записан
Ced
Гость
Re: Нужен совет по отладке
«
Ответ #32 :
Июнь 03, 2017, 09:02 »
Цитата: ViTech от Июнь 02, 2017, 17:52
Попробуйте лучше что-нибудь готовое, типа
Dr. Memory
,
Visual Leak Detector
и т.п.
С удовольствием. Вы первый, кто дал конкретные ссылки. С этого и начну.
Записан
Ced
Гость
Re: Нужен совет по отладке
«
Ответ #33 :
Июнь 03, 2017, 09:12 »
Цитата: ViTech от Июнь 02, 2017, 17:52
Попробуйте лучше что-нибудь готовое, типа
Dr. Memory
,
Visual Leak Detector
и т.п.
Одна проблема. По Вашим ссылкам лежат 64-разрядные приложения. Мне нужны 32-разрядные. Может посоветуете?
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Нужен совет по отладке
«
Ответ #34 :
Июнь 03, 2017, 09:49 »
Просто не нужно плодить потоки и внимательно и аккуратно все делать... И тогда не будет никаких утечек и прочих нехороших вещей.
PS: Возьмите уже Linux и прогоните с Valgrind.
Записан
ArchLinux x86_64 / Win10 64 bit
Ced
Гость
Re: Нужен совет по отладке
«
Ответ #35 :
Июнь 03, 2017, 10:03 »
Цитата: kuzulis от Июнь 03, 2017, 09:49
Просто не нужно плодить потоки и внимательно и аккуратно все делать... И тогда не будет никаких утечек и прочих нехороших вещей.
PS: Возьмите уже Linux и прогоните с Valgrind.
Потоками не страдаю. А про аккуратность знают все. От чего-то у всех периодически это не выходит:)
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Нужен совет по отладке
«
Ответ #36 :
Июнь 03, 2017, 10:19 »
Еще совет - замени указатели на "умные" указатели (std::unique_ptr, std::shared_ptr)
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Ced
Гость
Re: Нужен совет по отладке
«
Ответ #37 :
Июнь 03, 2017, 12:52 »
Цитата: Пантер от Июнь 03, 2017, 10:19
Еще совет - замени указатели на "умные" указатели (std::unique_ptr, std::shared_ptr)
Допустим. И каков ожидаемый результат?
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Нужен совет по отладке
«
Ответ #38 :
Июнь 03, 2017, 13:11 »
1. Уменьшает утечки памяти.
2. Не дает работать с указателями вникуда.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Ced
Гость
Re: Нужен совет по отладке
«
Ответ #39 :
Июнь 03, 2017, 13:22 »
Цитата: Пантер от Июнь 03, 2017, 13:11
1. Уменьшает утечки памяти.
2. Не дает работать с указателями вникуда.
а в чем разница между двумя вариантами?
Записан
Ced
Гость
Re: Нужен совет по отладке
«
Ответ #40 :
Июнь 05, 2017, 14:24 »
Подскажите пожалуйста, какова максимальная длина QByteArray для 32-битной операционки?
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Нужен совет по отладке
«
Ответ #41 :
Июнь 05, 2017, 14:51 »
Цитата: Ced от Июнь 03, 2017, 13:22
Цитата: Пантер от Июнь 03, 2017, 13:11
1. Уменьшает утечки памяти.
2. Не дает работать с указателями вникуда.
а в чем разница между двумя вариантами?
1 — просто утечка, 2 — потенциальный краш
Цитата: Ced от Июнь 05, 2017, 14:24
Подскажите пожалуйста, какова максимальная длина QByteArray для 32-битной операционки?
INT_MAX, скорее всего 32767
Записан
Изучением 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
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Нужен совет по отладке
«
Ответ #42 :
Июнь 05, 2017, 15:41 »
Цитата: Ced от Июнь 05, 2017, 14:24
Подскажите пожалуйста, какова максимальная длина QByteArray для 32-битной операционки?
Под вендой упретесь в 2Гб.
Записан
Ced
Гость
Re: Нужен совет по отладке
«
Ответ #43 :
Июнь 05, 2017, 19:52 »
А такая операция допустима?
Код:
List<x *> a;
List<x *> b;
......
a = b
если a перед присвоением был пуст, b - не пуст.
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Нужен совет по отладке
«
Ответ #44 :
Июнь 05, 2017, 20:47 »
Операция то допустима, вы получите второй список с указателями на те-же самые объекты x.
Вы потом как эти объекты освобождаете? Повторных освобождений не делаете?
Записан
Страниц:
1
2
[
3
]
4
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...