![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: нет Всего: 7 |
На всякий случай попробуй повставлять printf(ы) во все твои деструкторы, возможно, кто-то кого-то не вызывает...
И еще, иногда память может реально освободится от старых мапов только если дать новую команду её захватить... -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| gepard |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2477 Регистрация: 29.2.2004 Репутация: 2 Всего: 40 |
Adil'
Глупости городишь. Ошибка-то при delete получается. Памяти освобождается мало... Короче ладно. Я буду всё равно сейчас структуру переделывать... Если тажа хрень будет - подниму тему -------------------- Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным! © Я, Берсерк, что значит - Неистовый. |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
В последние четыре поста (кроме Val'иного) не врубился нифига..
--------------------
|
|||
|
||||
| Adil' |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 26.8.2004 Где: Питер Репутация: 6 Всего: 15 |
Такая ошибка обычно вылезает, если delete обращается к "левому" адресу, уже освобожденному, но не обнуленному, например. Это сообщение отредактировал(а) Adil' - 15.10.2004, 16:04 -------------------- Удачи |
||||||
|
|||||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Ну и терминология. Если имеется в виду Access Violation, то она как раз должна на delete и наооборот означает то что памяти особождается через чур много Ты где-то особождаешь то что еще не выделил или проводишь освобождение по второму разу. -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
gepard
я не знаю, но если юзаешь классы и динамическое выделение/удаление объектов, то все базовые классы должны быть с виртуальными деструкторами: virtual ~ClassDestructor(); |
|||
|
||||
| gepard |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2477 Регистрация: 29.2.2004 Репутация: 2 Всего: 40 |
Vyacheslav
У меня в голове все проекты перемешались: ошибка по типу "Отправлять отчёт или нет" вылезает у меня в другом проекте, а в этом просто памяти мало освобождается. Вот исходник
Функция somefunction() вызывается по нажатию опред. клавиши. -------------------- Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным! © Я, Берсерк, что значит - Неистовый. |
|||
|
||||
| MaxWave |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 8.3.2006 Репутация: нет Всего: нет |
Люди, спасите помогите!!!
Короче есть игра - змейка. Я создаю раздные доски (та, по к-й движется змея) размером m*n. Есть ф-я, которая загружает доску опр. размера. Юзер щелкае по вариантам, и доски меняются. В начале ф-ии делаем так:
Это есть типа "2-мерный " массив доски, где в каждую клетку заносится цифра для служебного пользования. Прожект компилится, запускается, все окей. Причем в Debug компиле никаких проблем (только тормозов больше). Когде делаем Relise, запускается все окей. Но когда начинаем многократно менять доски, т.е вызывать эту ф-ю, то прога вылетает (отправить отчет или нет). В чем может быть дело??? ссылка на змею http://www.ogre3d.org.ru/download.php?list.6 |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
gepard
в приведенном коде насколько я вижу нет утечки, с чего ты взял, что она есть? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Nuzur |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
Угу, из-за утечек ничего тебе не скажут, кроме того что с работы уволят(тьфу, тьфу, тьфу) и поночам спать трудно(если конечно совесть есть). -------------------- Never again... |
||||
|
|||||
| Neitron |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 580 Регистрация: 3.10.2005 Где: Москва Репутация: 2 Всего: 5 |
Гы, гы))) Да да.... Утечка мучает всегда и кошмарные сны, когда компьютер орет, на тебя во сне. -------------------- Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей. Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ |
|||
|
||||
| CPlusPlusFAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 1.11.2005 Где: Воронеж Репутация: нет Всего: нет |
||||
|
||||
| MaxWave |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 8.3.2006 Репутация: нет Всего: нет |
А чем эта лучше? Не удаляю в конце, т.к
вызывается у меня все время c разными m и n. А перед созданием нового массива надо удалить старый. Скачай с cсылки змею, там есть эта строчка, посмотри, мож че скажешь... (ф-я loadScene). |
||||
|
|||||
| CPlusPlusFAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 1.11.2005 Где: Воронеж Репутация: нет Всего: нет |
||||
|
||||
| CPlusPlusFAN |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 1.11.2005 Где: Воронеж Репутация: нет Всего: нет |
MaxWave, я скачал: работа выполнена на совесть.
Я видел у тебя несколько таких удалений массива. Поэтому я бы посоветовал тебе каждый раз, когда что-то удаляешь, проверить на NULL: вначале
затем
а уж потом, когда надо
Я конечно не уверен, но такие ошибки могут быть из-за вмешательства в память. Посмотри, не удаляешь ли ты ещё какой-нибудь указатель... Последний раз, когда у меня была такая ошибка, я пытался в Виндосе работать с прерываниями... |
||||||
|
|||||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |