Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > Free Heap block modified at after it was freed |
Автор: Ashlander 7.9.2006, 13:08 | ||
Здравствуйте All, пишу проектик с использованием MFC, и при дебаге проекта получаю вылет с сообщением студии
1) места где происходит вылет разные, коменчу одно вылезет в другом... многопоточность не использую 2) _heapchk до самого вылета говорит, что все ок 3) проблем с массивами не наблюдаю... пока правда это единственная подходящая причина 4) самое смешное при запуске самой дебаг версии вылет не происходит при аналогичных "вредоносных" действиях короче "полный привет..." (с) может у кого идей будут посвежей ? заранее спасибо |
Автор: _hunter 7.9.2006, 13:20 |
поставь bounds checker-- может что-то увидиш... |
Автор: Ashlander 7.9.2006, 16:08 | ||||
Только обратил внимание на диалог который выскакивал при этом : User breakpoint called from code at... Вот нагуглил...
1 в 1, вот правда остался немой вопрос "ну и чего..." .... забить и не париться.... ??? при нормальном запуске экзешника как дебага, так и релиза все идеально... |
Автор: _hunter 7.9.2006, 16:44 |
можно, конечно и забить (особенно если иенструментов для поиска бага нету). но если приложение планируется серьезное -- забить не прокатит) |
Автор: Ashlander 7.9.2006, 17:04 | ||
вот так всегда... эх... ![]() ...кстати единственное, что осталось для себя выяснить, что означает фраза "память попорчена" ... это логический или физический дефект... я конечно понимаю, физический мне не светит... ну не может мне так сегодня повезти... но продебагить на другой машинке стоит ![]() |
Автор: _hunter 7.9.2006, 18:05 |
логический -- где-то кто-то не туда что-то записал... |
Автор: Ashlander 7.9.2006, 22:02 | ||||
мда... так оно и есть ,...
только освобождаю я уже кильнутое... ну да ладно... найду грабли - покажу бланш ![]() |
Автор: Ashlander 9.9.2006, 14:41 |
вроде как нашел... не обнулялся указатель на динамически созданный обьект после его удаления... позже память забиралась под другой обьект, и модифицировалась "злодеем" указателем... ...а причина, как оказалось - не внес функцию в приватовскую секцию класса, после чего с успехом ее и использовал вместо заготовки... ![]() минус: пришлось вручную перелопатить весь код... ![]() спасибо всем |