crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Запуск приложения созданного как release, но имеется зависимость от debug dll
AD
  опции профиля:
сообщение 17.9.2008, 12:02
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Вопрос крайне путаный и сложный. Мое приложение (под Visual Studio 2005 and Qt 4.3.2, также использованы библиотеки (производства нашей фирмы) Sahara and Styx) на моей машине запускается без проблем.
Релизная версия приложения запускается почти на всех машинах. НО: есть исключения - на машине, на которой установлен MS Visual Studio 2008, оно упало. Под Microsoft Vista не пробовал.
У кого какие соображения по поводу таких свистоплясок? Буду благодарен за любую помощь!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 17.9.2008, 13:01
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата
но имеется зависимость от debug dll
а от каких конкретно?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 17.9.2008, 13:19
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата
Цитата
но имеется зависимость от debug dll
а от каких конкретно?

А тебе они что-то скажут? :)
StyxCLM.dll, StyxDataStorage.dll, StyxDataSupport.dll, StyxDemCLM.dll, StyxSystem.dll, StyxUtils.dll!
Объясню почему не созданы релизы, потому что никому они не нужны были. А для того, чтобы собрать под релиз, надо изрядно упариться - множество настроек менять, смотреть и править ошибки во многих файлах, - времени на это у меня совсем нет!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrew Selivanov
  опции профиля:
сообщение 18.9.2008, 12:26
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


Цитата(AD @ 17.9.2008, 13:02) *
Вопрос крайне путаный и сложный. Мое приложение (под Visual Studio 2005 and Qt 4.3.2, также использованы библиотеки (производства нашей фирмы) Sahara and Styx) на моей машине запускается без проблем.
Релизная версия приложения запускается почти на всех машинах. НО: есть исключения - на машине, на которой установлен MS Visual Studio 2008, оно упало. Под Microsoft Vista не пробовал.
У кого какие соображения по поводу таких свистоплясок? Буду благодарен за любую помощь!

Маловато информации - выясни где именно оно упало (т.е. запусти отладчик на той машине), оно вообще то инициализировалось?
Теория 1: Где то в недрах твоей программы используются статические данные, инициализация которых происходит при запуске, там то у тебя все и падает, например убивается стек и пошло поехало.
Теория 2: Где то в недрах твоей программы используются статические данные (объекты) и они завязаны друг на друга. Причем проблема в том, что порядок инициализации нарушен, что приводик к падениям на некоторых машинах.

PS: Думаю проблема не в Студии, т.к. все, что там могло измениться из используемого тобой - так это DLL libc runtime.
Можешь попробовать поставить Redist от студии в которой ты это собирал.

Сообщение отредактировал Andrew Selivanov - 18.9.2008, 12:30
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 18.9.2008, 13:56
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Andrew Selivanov @ 18.9.2008, 13:26) *
Маловато информации - выясни где именно оно упало (т.е. запусти отладчик на той машине), оно вообще то инициализировалось?
Теория 1: Где то в недрах твоей программы используются статические данные, инициализация которых происходит при запуске, там то у тебя все и падает, например убивается стек и пошло поехало.
Теория 2: Где то в недрах твоей программы используются статические данные (объекты) и они завязаны друг на друга. Причем проблема в том, что порядок инициализации нарушен, что приводик к падениям на некоторых машинах.

PS: Думаю проблема не в Студии, т.к. все, что там могло измениться из используемого тобой - так это DLL libc runtime.
Можешь попробовать поставить Redist от студии в которой ты это собирал.

Проблема в том, что если на эти машины поставить студию 2005, то почти уверен, что проблема пропадет - это я отвечаю на предложение о том, что запустить под дебаггером.
А вот как съимитировать эту ошибку на своем компе, ума не приложу. Т.е. причины ошибки узнать - это хорошо, но вот как исправить!!!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrew Selivanov
  опции профиля:
сообщение 18.9.2008, 15:59
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


Цитата(AD @ 18.9.2008, 14:56) *
Цитата(Andrew Selivanov @ 18.9.2008, 13:26) *
Маловато информации - выясни где именно оно упало (т.е. запусти отладчик на той машине), оно вообще то инициализировалось?
Теория 1: Где то в недрах твоей программы используются статические данные, инициализация которых происходит при запуске, там то у тебя все и падает, например убивается стек и пошло поехало.
Теория 2: Где то в недрах твоей программы используются статические данные (объекты) и они завязаны друг на друга. Причем проблема в том, что порядок инициализации нарушен, что приводик к падениям на некоторых машинах.

PS: Думаю проблема не в Студии, т.к. все, что там могло измениться из используемого тобой - так это DLL libc runtime.
Можешь попробовать поставить Redist от студии в которой ты это собирал.

Проблема в том, что если на эти машины поставить студию 2005, то почти уверен, что проблема пропадет - это я отвечаю на предложение о том, что запустить под дебаггером.

а ты не будь почти уверен, возьми и запусти :)

Цитата
А вот как съимитировать эту ошибку на своем компе, ума не приложу. Т.е. причины ошибки узнать - это хорошо, но вот как исправить!!!

Не обязательно ставить туда студию... поставь visual studio redistributable package, только посмотри вначале под какой версией ты собирал, SP1 или нет (они разные) - еще одна особенность - это работает только для release сборки

Microsoft Visual C++ 2005 Redistributable Package (x86)
Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)
Microsoft Visual C++ 2008 Redistributable Package (x86)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.9.2008, 16:54
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AD @ 18.9.2008, 17:56) *
А вот как съимитировать эту ошибку на своем компе, ума не приложу.
запусти прогу BAT'ником, в котором забей в переменную PATH только %system32% и путь к бинарям/библиотекам своей программы, этот же батник пусть и запускает твою программу. Хотя не исключено, что в %system32% есть то что нехватет на другой машине, но все же попробывать можно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 19.9.2008, 10:21
Сообщение #8


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


А ещё такие падения бывают от неинициализированных переменных и от глюков в многопоточке.
Т.к. в этих случаях идёт работа со случайными значениями, то воспроизвести такие ошибки крайне трудно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 19.9.2008, 11:05
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Да уж... будем чуть позже решать эту проблему. Беда в том, что в этих dll используется наша библиотека, собранная в дебаг-режиме. Пока что 80% машин удовлетворяет.
А за эти релиз-пакеты спасибо! Попробую чуть позже.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 1.2.2023, 12:28