![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Здравствуйте, уважаемые!
Есть проблема - периодически (непонятно почему) 32 битный экзешник пытается подхватить 64-битные длл со всеми вытекающими последствиями типа AppCrash. Первый раз с таким столкнулся, просьба не пинать, возможно вопрос даже не сюда, а в форум по Windows. В качестве примера (скопирована часть данных из журнала событий):
А, например, сейчас приложение стартовало нормально, в ProcessExplorer наблюдаю подключенную длл: C:\Windows\SysWOW64\rtutils.dll Приложение своё, 32битное. "Ручками" ничего из этой библиотеки не импортирую, но подозреваю, что этим занимается IWebBrowser2 (вообще не нашел у себя в D2010, в моем коде и в сторонних сырцах упоминания rtlutils). Ось: Win Server 2008 R2 Ent. x64 SP1 IE: v10 Сами dll (что 32, что 64 бит) "подлинные", ProcessExplorer говорит "Verified". Проблема с этой dll выскакивает чаще всего. Пару дней назад вываливалось еще где-то на msxml6 (кажется), но сейчас уже не уверен в этом. Собственно - не знаю даже, с какой стороны подступиться к этому. Подскажите что-нибудь, а? |
|||
|
||||
Delvish |
|
|||
![]() oO ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 13.12.2006 Репутация: нет Всего: 4 |
День добрый!
Смею предположить, что не работает механизм перенаправления WOW64 http://support.microsoft.com/kb/971163/ru |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
||||
|
||||
Delvish |
|
|||
![]() oO ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 13.12.2006 Репутация: нет Всего: 4 |
В самою суть работы ядра х64 я не вдавался, но если грубо, то х32 приложения в ОС х64 выполняются не нативно, а в неком эмуляторе, т.е. существует прослойка, подключающая необходимые х32 библиотеки для обратной совместимости приложений (эдакий DosBox для 16-битных приложений). Т.о. у Вас происходит ситуация, когда один из механизмов перенаправления дает сбой и ОС считает что приложение не требует запуска эмуляторной прослойки. Более подробно (хотя отвлеченно немного от темы) по ссылке http://rakafon.blogspot.ru/2009/04/32-bit-dll-64-bit.html
Исправление беды кроется в каком-то из KB от Microsoft. Точнее подсказать, увы, не могу. |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Да, я понимаю, что все дело в подсистеме WOW64, но мне от этого не легче. Пересобрать приложение под х64 не могу, т.к. D2010. В сети нашел еще несколько жалоб на краши, связанные с этой dll именно на этой оси, но однозначного решения в прочитанных топиках не было, только в одном проскользнула рекомендация внести в исключения DEP. Проблему обошли - поставили приложение на комп с Win7 ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |