Здравствуйте, гость ( Вход | Регистрация )
Iron Bug | Дата 1.4.2021, 22:12 |
ты лучше кусок кода приведи, для демонстрации того, что ты делаешь. а ещё лучше сделай маленький пример, без подробностей, который сам у себя скомпилишь и запустишь - чтобы посмотреть, проявится эта ошибка или нет. без примера, на котором там у тебя что-то падает, сказать сложно. отлов таких ошибок под Linux - это valgrind. ну или дебаг и под дебагом смотреть, где падает. смотреть стек всех потоков. может быть запорчен какой-то участок памяти. если в дебажной версии не падает, я могу предложить только сборку релиза, но без стрипа имён, и как вариант - использовать Google Breakpad. он кроссплатформенный и собирает дампы при падении программ. |
|
KuvshinoF | Дата 1.4.2021, 10:09 |
Вроде все указатели в конструкторах занулил, но эффекта это не возымело. А можно как-то локализовать эту ошибку (узнать место программы, из-за которого возникает этот realloc: invalid pointer)? | |
Алексей1153 | Дата 25.3.2021, 18:24 |
KuvshinoF, инициализация должна быть, иначе будут сюрпризы. Но дело может быть не только в этом. Мы же не знаем, что ты там делаешь с указателями |
|
KuvshinoF | Дата 25.3.2021, 15:12 |
Понятно. То есть дело точно в начальном необнулении укателя(ей)? | |
Iron Bug | Дата 25.3.2021, 14:45 |
смотря как ты используешь этот указатель. хотя надо заметить, что в многопоточных приложениях иногда падение в каком-то месте ещё не означает, что именно этот оператор его вызвал. там надо смотреть контексты потоков. может быть где-то порушен стек или ещё что-то, что затирает другие данные. |
|
KuvshinoF | Дата 25.3.2021, 8:25 |
Да, но новый, "чистый" проект с указателем QWidget * mywidget; в качестве члена QMainwindow и без обнуления отлично работает в release-сборке. | |
Алексей1153 | Дата 24.3.2021, 6:53 |
debug-сборка данной программы работает отлично - я бы сказал, что работает случайно )) натрави на проект статический анализатор, он много интересного найти может |
|
Iron Bug | Дата 24.3.2021, 6:46 |
скорее всего, в дебаге память может обнуляться для проверок. но в дебаге ещё и распределение адресов другое. может, просто повезло с мусором в памяти и он там нулевой | |
KuvshinoF | Дата 23.3.2021, 21:36 |
Понятно...да, может какой-то указатель и не обнулен. А почему в debug-версии это проходит (все работает норм)? | |
Iron Bug | Дата 23.3.2021, 17:30 |
обнули указатель перед использованием. некоторые компиляторы их не обнуляют. собственно, по стандарту они и не обязаны. | |
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.4.2024, 17:25 |