| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 |
По умолчанию, в 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 файл и попробывать цепануться отладчиком (например удаленным) к всплывшаму отладчику ватсону....ну чет типа того... |