WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Debug и Release версии отличаются

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Debug и Release версии отличаются
foreverchild опубликован 21-05-2001 12:36 MSK   Click Here to See the Profile for foreverchild   Click Here to Email foreverchild  
Хаюшки еще раз!

Пипл, а кто знает почему Debug и Release версии одной и той же проги отличаются. Конечно различие незначительное но все же как мне его устранить? Я уже и оптимизацию кода снял, и все равно эта пакость при компиллировании Release версии гадит...

Jimmy опубликован 21-05-2001 13:01 MSK     Click Here to See the Profile for Jimmy  Click Here to Email Jimmy     
Я понят тебя, foreverchild, так:
В релиз-билде глюки, в дебаг - все ОК. Если ты об этом, могу сказать сл.: такие глюки порождает "сопливый" (с обильно развешанными соплями, отсутствием проверок и т.д.). Выход - переписать все по человечески (начиная с добавлением ВСЕХ необх. параметров в App. Wizard.

ЗЫ:Gecnm ,hfndf vtyz gjghfdbn? tckb z yt ghfd///

OlegN опубликован 21-05-2001 13:09 MSK     Click Here to See the Profile for OlegN  Click Here to Email OlegN     
Почитай статью в
http://www.rsdn.ru/article/printv.asp?vcpp/survrls.xml
purpe опубликован 21-05-2001 13:14 MSK     Click Here to See the Profile for purpe  Click Here to Email purpe     
2 foreverchild:

ну так в Debug версию компилятор включает кучу обработчиков исключительных ситуаций, которые при работе исполняемого файла стараются по возможности исправить глюки в твоём коде и преподать для операционки более коректный код, а в Release версии этого нету и прога исполняется так как ты её наваял.

Так что ищи глюки в своей программке.

al опубликован 21-05-2001 14:26 MSK     Click Here to See the Profile for al  Click Here to Email al     
Возможно дело в том, что в DEBUG версии
память выделяется по другому - перед каждым блоком памяти имеется место, куда VCRT записывает информацию о выделенном блоке памяти (имя исходника, строка вызова и т.п.). Затем эта информация используется для выдачи сообзений о потери памяти при завершении процесса.
Если в коде имеются некорректные обращения к памяти, то в DEBUG "гаженье" может происходить именно в эту облатст (текущего или следующего за текущим блока). При этом сами данные в блоке не страдают и не срабатывает защита памяти Windows. В RELEASE происходит изменение самих данных программы или чтение/запись запрещенных данных.
Ошибки в RELEASE - на 99% вызваны некоректной работой с памятью, т.к. если DEBUG не дает ASSERTION, то и в RELEASE в этом месте скорее всего все будет OK.
foreverchild опубликован 21-05-2001 14:57 MSK     Click Here to See the Profile for foreverchild  Click Here to Email foreverchild     
Спасибо всем,

Да, скорее всего вы все правы - код у меня конечно оставляет желать лучшего.

Просто создание САПР довольно трудоемкий процесс, особенно когда начинаешь писать диплом недели за 4 до его сдачи...

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.