Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Не работает программа в виндоус7 и висте


Автор: andrew_121 19.8.2009, 02:48
Вопрос по сабжу.
Компилирую в ХР, работает в ХР, в виндоус7 и висте, вылетает с ошибкой чтения памяти.
Компилирую в виндоус7, работает только на моей машине.
Длл-ок стороних не просит.

Автор: 586 19.8.2009, 03:10
На каком компиляторе скомпилирована программа?

Автор: andrew_121 19.8.2009, 03:12
msvc2008 prof

Автор: 586 19.8.2009, 04:11
Цитата(andrew_121 @  19.8.2009,  04:12 Найти цитируемый пост)
msvc2008 prof 

По умолчанию, в 2005 студии при компиляции приложения (и для debug и для release), генерируется pdb файл, в котором содержится отладочная инфа.
Скомпилируй в WinXP приложение.
Загрузи Windows7 и запусти в отладчике приложение.
В случае возникновения ошибки посмотри в отладчике call-stack. Если с отладочной информацией всё в порядке, то там можно увидеть имена функций в exe, при вызове которых возникла ошибка.

Автор: andrew_121 19.8.2009, 04:25
Попробую.

Автор: jonie 19.8.2009, 08:57
в win7, равно как и в висте, есть Compatibility Advisor  или как-то так он там называется... по сути своей может применять патчи и анализировать поведение приложения (например, запись в каталог приложения, или запрос на запись файл без передачи токена безопасности)... посмотрите на teachdays.ru там был доклад для IT рассказывающий про совместимость приложений.

Автор: Serjio 11.12.2009, 23:29
У меня очень похожая проблема: Прога запускается под XP (скомпилирована на компе с XP), но не работает под Vista и windows7. При попытке запуска всплывает окошко с заголовком "Microsoft windows", текст такой: "Прекращена работа proga.exe. Windows осуществляет поиск способа устранения данной ошибки..." после чего прога завершается без результатов.
Компилирую интеловским компилятором (Intel® C++ 11.1.051 [IA-32]) под XP, в настройках компилятора включена куча опций для повышения скорости работы. 
Прога написана с использованием intel ipp, intrinsics-ов, SSE и MMX, в общем там куча вычислений. Также используется OpenMP (в настройках компилятора включена поддержка).
Есть подозрение, что если скомпилировать майкрософтовским компилятором, то все заработает, но это не проверено, а во вторых в этом случае скорость заметно снижается, а скорость крайне критична.

Мне кажется я делаю какую то ламерскую ошибку, и что решение данной проблемы уже давно всем известно, но я нигде не смог найти инфы по данной проблеме в инете. Подскажите пожалуйста, очень прошу, я уже замучился искать!!

P.S. Нету компа с Vista, есть комп с windows7, но это комп друга, на который надо ставить проги, чтобы получить возможность отлаживать (друг - не программист). Если можно учитывайте это обстоятельство в советах, хотелось бы разобраться малой кровью...

Автор: Serjio 14.12.2009, 21:56
Проверил! Скомпилировал майкрософтовским компилятором (из 2005 студии) и начинает работать под виндовс 7.
Была у кого-нить похожая проблема?
Какие могут быть варианты решения?
Заранее спасибо!

Автор: jonie 14.12.2009, 22:05
Serjio, надо взять depends.exe и посмотреть для начала все ли длл-ки ваша прога находит.
Далее взять FileMon (сейчас называется ProcMon) и посмотреть чего винда пытается дернуть и не может.
Потом, если и это не поможет, сделать drwtsn32.exe -i , поставив тем самым дебаггер (какой-никакой...). Запустить его и настроить на максимум всего)... после чего стартовать прогу вашу, рядом с которой поместить pdb файл и попробывать цепануться отладчиком (например удаленным) к всплывшаму отладчику ватсону....ну чет типа того...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)