Странное поведение при выполнении
От: Serge_HID Россия  
Дата: 26.07.07 09:23
Оценка:
Есть проект (MFC DLL, VC++ 6.0), в котором используется несколько статических библиотек.
Проблема заключается в следующем — при выполнении из под студии приложения, использующего исходную dll, все работает на ура.
Если же я запускаю это приложение просто, то оно ведет себя крайне странно, а именно бросается исключение при открытии файла (в одной из lib), пытался выяснить почему ведением лога, но он даже не создается (при запуске не из студии).

Читал в гугле, что такое поведение возможно если оптимизатор "наоптимизировал" что-то, отключил — тоже самое.
Коллега сказал, что возможно проблема с различным выравниванием в проекте и используемых lib-ах, кто нибудь может подсказать как это лечить или ткнуть ссылкой?
Заранее благодарен.

P.S. Прошу прощения, если ошибся форумом
Re: Странное поведение при выполнении
От: AndrewJD США  
Дата: 26.07.07 09:33
Оценка:
Здравствуйте, Serge_HID, Вы писали:

S_H>Есть проект (MFC DLL, VC++ 6.0), в котором используется несколько статических библиотек.

S_H>Проблема заключается в следующем — при выполнении из под студии приложения, использующего исходную dll, все работает на ура.
S_H>Если же я запускаю это приложение просто, то оно ведет себя крайне странно, а именно бросается исключение при открытии файла (в одной из lib), пытался выяснить почему ведением лога, но он даже не создается (при запуске не из студии).

Может быть не та DLL загружается? Из под студии одна, а при обычном запуске другая?
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[2]: Странное поведение при выполнении
От: Serge_HID Россия  
Дата: 26.07.07 10:48
Оценка:
Здравствуйте, AndrewJD, Вы писали:

AJD>Может быть не та DLL загружается? Из под студии одна, а при обычном запуске другая?


Нет, dll-ка из debug/release post-build'ом копируется в папку приложения, для достоверности проверял fc, файлы идентичны.
Re: Странное поведение при выполнении
От: dmitry_npi Россия  
Дата: 26.07.07 11:05
Оценка:
Здравствуйте, Serge_HID

Проверьте пути. При запуске из студии текушей директорией считается та, где лежит файл проекта (dsp, vcproj). Проверьте также пути, по которым отладчик запускает ваше приложение. Возможно, он запускает его из папки Debug, а Вы — оттуда, куда копировали через post-build.

P.S. Лог-файл, возможно, создается, но НЕ ТАМ.
P.P.S. Вопрос, скорее в "Средства разработки" — вещь не менее сложная, чем сам С++
Атмосферная музыка — www.aventuel.net
Re[3]: Странное поведение при выполнении
От: AndrewJD США  
Дата: 26.07.07 11:39
Оценка:
Здравствуйте, Serge_HID, Вы писали:

S_H>Нет, dll-ка из debug/release post-build'ом копируется в папку приложения, для достоверности проверял fc, файлы идентичны.


Попробуй лучше depends посмотреть откуда она загружается.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.