|
0 / 0 / 0
Регистрация: 10.07.2012
Сообщений: 6
|
||||||||||||||||||||||||||
Bad allocation || Segmentation fault10.07.2012, 00:56. Показов 2359. Ответов 8
Метки нет (Все метки)
Люди, помогите плиз!! голова уже взрывается, но как найти ошибку, не могу понять!! Не могу привести весь пример кода, но на мой взгляд привожу часть, по которой должна быть понятна суть проблемы!
Отрывок из заголовочного файла: существует вот такая вот структурка
в .h нике же определен класс -
Переходим к файлу .cpp Структура NumberGroup имеет следующий конструктор -
в таком варианте функции программа работает нормально и ниче не падает, работает стабильно, день за днем, неделя за неделей..если же убрать комментарий из условия, то есть условие сложное, ТО 1) в случае если первый параметр передается по ссылке, как написано выше - падает минут через 5-10 - Segmentation fault, причем если поставить логи, то видно, что в эту функцияю и в частности в условие заходит несколько раз 2) в случае передачи по значению и не const - валится минут через 30, по причине Bad_alloc() - terminate called after throwing an instance of 'std::bad_alloc'what(): std::bad_alloc Aborted Далее привожу код, из которго вызывается данная функция -
Зубры программирования, помогите плиз в этом вопросе...ведь ту же самую переменную сравниваю с числом, КАК МОЖЕТ ПАДАТЬ!!!!!!!!
0
|
||||||||||||||||||||||||||
| 10.07.2012, 00:56 | |
|
Ответы с готовыми решениями:
8
Segmentation fault segmentation fault( Segmentation fault strcpy() |
|
Модератор
3407 / 2178 / 354
Регистрация: 13.01.2012
Сообщений: 8,448
|
|
| 10.07.2012, 09:31 | |
|
*внутричерепное давление повысилось... у меня* что оно хоть делает? уж очень все переплетенное. кроме того - что то вы не договариваете: с одной стороны заявляете что CarNumberInfo - простая структура из 4-х long, а с другой - мы видим что эта самая простая структура содержит какой то объект canonicalImageArea. кроме того - раз падает на ней, так покажите же ее - зачем другую показывать? а вообще по поводу вопроса - что то удаляется, что то размножается, сверху полито указателями (при размножении нужно отдавать отчет как они будут множится) и динамической памятью (если размножаем или создаем копию или не нужно удалять дважды), не мудрено что падает.
0
|
|
|
0 / 0 / 0
Регистрация: 10.07.2012
Сообщений: 6
|
||||||
| 10.07.2012, 11:17 [ТС] | ||||||
прошу прощения за ложные данные!! Возможно структура и большая по размеру и пусть я предположу, что может раздуваться приложение и падать...но ведь не падает без указанного выше сравнения...я вот это и не могу понять.. как это можно объяснить?
0
|
||||||
|
Модератор
3407 / 2178 / 354
Регистрация: 13.01.2012
Сообщений: 8,448
|
|
| 10.07.2012, 11:43 | |
|
падать может потому как этим условием цепляет элементы с которыми кто-то еще делает что-то еще. по идее это что-то должно быть операциями с памятью, причем не обязательно вашими - они могут происходить в недрах вектора или строки. а что в CarNumber и CoordArea?
0
|
|
|
0 / 0 / 0
Регистрация: 10.07.2012
Сообщений: 6
|
|
| 10.07.2012, 11:47 [ТС] | |
|
в CarNumber 2 переменных типа string
в CoordArea 4 переменных типа long Я склонялся к раздутию вектора и повторному обращению, то есть решаить хотел спомощью mutex-ов..но поверьте, дело не в этом..это не разделяемая память..1 элемент передается в функцию AddNumber(), функция отрабатывает и элемент удаляется..благо определен он локально
0
|
|
|
87 / 87 / 1
Регистрация: 19.06.2012
Сообщений: 245
|
|
| 10.07.2012, 11:49 | |
|
Предлагаю не гадать на кофейной гуще а запустить под gdb и когда упадет сказать bt
0
|
|
|
Модератор
3407 / 2178 / 354
Регистрация: 13.01.2012
Сообщений: 8,448
|
|
| 10.07.2012, 13:43 | |
|
все выглядит нормально. во всяком случае если смотреть на глубину не более разрыва мозга. правда все эти жонглирования элементами вектора настораживают. однако erase нигде нет, увеличения итератора вне for - тоже, не должно падать. что алгоритм делает? может тогда мысль проблескнет?
0
|
|
|
0 / 0 / 0
Регистрация: 10.07.2012
Сообщений: 6
|
|
| 10.07.2012, 13:49 [ТС] | |
|
алгоритм осуществляет выбор оптимального номера - чтобы номер был внизу (т.к. это гарантия того что машина - большая ее часть - попала в картинку) и при этом номер не был обрезан
0
|
|
|
Модератор
3407 / 2178 / 354
Регистрация: 13.01.2012
Сообщений: 8,448
|
|
| 10.07.2012, 14:41 | |
|
то есть система имеет список номеров на картинке, перебирает их с целью найти самый нижний необрезанный. выглядит просто. зачем тогда все эти конструкции из трехступенчатых циклов на итераторах?
0
|
|
| 10.07.2012, 14:41 | |
|
Помогаю со студенческими работами здесь
9
Segmentation fault(Core dumped) Исправить ошибку, приводящую к segmentation fault Segmentation fault в конце работы программы XDestroyImage(image); Segmentation fault (core dumped) При записи в бинарный файл происходит segmentation fault Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|