Название: [РЕШЕНО (разные dll для разных сборок)] почему relise работает с ошибками Отправлено: unkeep от Август 07, 2013, 11:43 если запускать в режиме отладки то всё работает отлично (ни ошибок, не предупреждений, память освобождается где надо ), в режиме релиза запускается, но выкидывает с ошибками:
Second Chance Assertion Failed: File f:\dd\vctools\crt_bld\self_x86\crt\src\dbgheap.c, Line 1317 Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly код кидать не буду, хотелось бы просто узнать особенности сборок в разных режимах. Знаю что в релизе убирается все инструкции для отладки и тп. но на работу приложения это не должно никак влиять, ведь так? и какие есть методы поиска ошибок в режиме релиза(дебагер же не работает)? Название: Re: почему relise работает с ошибками Отправлено: kambala от Август 07, 2013, 11:52 скорее всего где-то используешь битый указатель
Название: Re: почему relise работает с ошибками Отправлено: unkeep от Август 07, 2013, 11:55 скорее всего где-то используешь битый указатель почему тогда в режиме отладки ничего не вылетает, и как узнать где имеено этот указатель используется без дебагера?Название: Re: почему relise работает с ошибками Отправлено: kambala от Август 07, 2013, 12:05 дебаг он такой, иногда в нем не ломаются указатели
попробуй valgrind. или просто выполни поиск new/malloc по проекту и убедись, что указатели удаляются. Название: Re: почему relise работает с ошибками Отправлено: unkeep от Август 07, 2013, 12:11 смог вызвать туже ошибку при обращении к модели. оч странно..
Код
Код
вывод приложения: "2 ПРЕДВАРИТЕЛЬНОЕ РАСПОРЯЖЕНИЕ" Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly а, второй документ не вывело... Название: Re: почему relise работает с ошибками Отправлено: mutineer от Август 07, 2013, 12:13 Видимо его в модели нет
Название: Re: почему relise работает с ошибками Отправлено: unkeep от Август 07, 2013, 12:18 Видимо его в модели нет есть. поменял местами их вывод в дебаг - тоже самое только другой документ вывеловывод приложения: "3 ПРЕДВАРИТЕЛЬНОЕ РАСПОРЯЖЕНИЕ" Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly Название: Re: почему relise работает с ошибками Отправлено: alex312 от Август 07, 2013, 12:50 unkeep, очень похоже что у тебя приложение работает с одной dll, и в релиз версии и в дебаг. Соответственно в дебаг все нормально, релиз вылетает.
Название: Re: почему relise работает с ошибками Отправлено: unkeep от Август 07, 2013, 13:35 unkeep, очень похоже что у тебя приложение работает с одной dll, и в релиз версии и в дебаг. Соответственно в дебаг все нормально, релиз вылетает. полностью удаляю папку со сборкой при смени режима и собираю заново Название: Re: почему relise работает с ошибками Отправлено: unkeep от Август 08, 2013, 18:07 очень долго ломал бошку пока не заметил что одна из dll была собрана в дебаг режиме. пересобрал её в релизе - заработало. долго радовался, пока не нарвался на такие же ошибки только теперь после сборки приложения для дебага. Что получается для каждого режима теперь надо свои dll пересобирать? или я что-то не так делаю?
Название: Re: почему relise работает с ошибками Отправлено: Bepec от Август 08, 2013, 18:13 Для каждой конфигурации нужны свои dll. Дебаг в дебаге, релиз в релизе.
Название: Re: почему relise работает с ошибками Отправлено: alex312 от Август 08, 2013, 18:34 очень долго ломал бошку пока не заметил что одна из dll была собрана в дебаг режиме. А я говорил ...Название: Re: почему relise работает с ошибками Отправлено: unkeep от Август 12, 2013, 09:47 в связи с этим хотелось бы поинтересоваться, каким образом прописать условие, при котором в зав-ти от режима сборки подгружалась соответствующая dll?
Название: Re: почему relise работает с ошибками Отправлено: Bepec от Август 12, 2013, 10:46 Какой хороший вопрос для телепатов :D Указывать IDE не надо?
В VS спокойно настраиваются подключаемые в различных конфигурациях dll. Project property->linker -> и вводим необходимые. Название: Re: почему relise работает с ошибками Отправлено: unkeep от Август 12, 2013, 11:21 Какой хороший вопрос для телепатов :D Указывать IDE не надо? Qt creator 2.6 + sdk 4.8.1 Название: Re: почему relise работает с ошибками Отправлено: alex312 от Август 12, 2013, 23:12 в связи с этим хотелось бы поинтересоваться, каким образом прописать условие, при котором в зав-ти от режима сборки подгружалась соответствующая dll? Подгрузкой dll занимается ОС, и если у тебя дебаг и релиз версии dll называются одинаково - то это не исправить.Соответственно к дебаг версии библиотеки обычно добавляют суффикс "d". (пример - QGui.dll и QGuid.dll). Что бы разделять разные версии библиотек я пользуюсь такой конструкцией в *.pro файле : Код: CONFIG(debug, debug|release) { И соответственно аналогичная конструкция для подключения: Код: CONFIG(debug, debug|release) { Название: Re: почему relise работает с ошибками Отправлено: unkeep от Август 13, 2013, 10:10 благодарю, то что надо. ;)
|