debug-release проблемы
От: rg_software  
Дата: 17.11.08 11:54
Оценка:
Здравствуйте!

Не занимался ли кто-нибудь разруливанием подобной проблемы.

Имеется проект (Win32 GUI), к которому линкуется статическая библиотека. Библиотеку пишу я, а проект с оболочкой присылают в виде исходника.
При компиляции в режиме Debug всё работает отлично.
В режиме Release возникают ошибки (а-ля runtime error, memory access violation) в статической библиотеке, причём в модулях, вызываемых непосредственно из GUI-проекта. Лечится (если так можно выразиться) выборочным отключением оптимизаций в библиотеке.

Также иногда помогает "переформулировка" кода.
Например,

// v is std::vector
v.resize(N); // падает

v.clear();
for(size_t i = 0; i < N; ++i) v.push_back(T()); // работает

Замучился уже, не знаю, где и чего можно ещё проанализировать...
Re: debug-release проблемы
От: Сергей Мухин Россия  
Дата: 17.11.08 12:21
Оценка:
Здравствуйте, rg_software, Вы писали:

_>При компиляции в режиме Debug всё работает отлично.

_>В режиме Release возникают ошибки (а-ля runtime error, memory access violation) в статической библиотеке, причём в модулях, вызываемых

Как пережить release-версию
Автор(ы): Dr. Joseph M. Newcomer
Дата: 18.06.2001
Статья посвящена проблемам перехода с Debug-версии на Release-версию. Рассматриваются
типичные ошибки, которые могут не проявляться в отладочной версии, но проявляются в финальной.
Обсуждается вопрос "ошибок компилятора" и вопросы необходимости оптимизации и ее побочные эффекты.
В последней редакции добавлен раздел посвященный проблеме совместимости динамических библиотек.
---
С уважением,
Сергей Мухин
Re: debug-release проблемы
От: MasterZiv СССР  
Дата: 17.11.08 16:12
Оценка:
rg_software пишет:

> Имеется проект (Win32 GUI), к которому линкуется статическая библиотека.

> Библиотеку пишу я, а проект с оболочкой присылают в виде исходника.
> При компиляции в режиме Debug всё работает отлично.
> В режиме Release возникают ошибки (а-ля runtime error, memory access

Прежде всего, ты имеешь ДВА варианта этого твоего проекта с оболочкой ?
Должно быть их два, Release и Debug.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: debug-release проблемы
От: rg_software  
Дата: 17.11.08 18:56
Оценка:
MZ>Прежде всего, ты имеешь ДВА варианта этого твоего проекта с оболочкой ?
MZ>Должно быть их два, Release и Debug.

Да, конечно.

Оболочка (ЕХЕ) и статическая библиотека (LIB), подсоединяемая к оболочке.

Т.е. имеем:
1) exe debug + lib debug
2) exe release + lib release
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.