Собственно вопрос в теме.
Не могу подключить дллку через LoadLibrary.
GetLastError выдает номер ошибки "-529697949". В инете облазил не могу найти ни одного упоминания. Мот кто знает что за ошибка?
Здравствуйте, cupuyc., Вы писали:
C>Собственно вопрос в теме. C>Не могу подключить дллку через LoadLibrary. C>GetLastError выдает номер ошибки "-529697949". В инете облазил не могу найти ни одного упоминания. Мот кто знает что за ошибка?
Здравствуйте, cupuyc., Вы писали:
C>Собственно вопрос в теме. C>Не могу подключить дллку через LoadLibrary. C>GetLastError выдает номер ошибки "-529697949". В инете облазил не могу найти ни одного упоминания. Мот кто знает что за ошибка?
Скорее всего dll бросила исключение во время загрузки. И это исключение никто не поймал.
Здравствуйте, cupuyc., Вы писали:
C>Собственно вопрос в теме. C>Не могу подключить дллку через LoadLibrary. C>GetLastError выдает номер ошибки "-529697949". В инете облазил не могу найти ни одного упоминания. Мот кто знает что за ошибка?
Выведи код ошибки в шестнадцатеричном виде.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, cupuyc., Вы писали:
C>Собственно вопрос в теме. C>Не могу подключить дллку через LoadLibrary. C>GetLastError выдает номер ошибки "-529697949". В инете облазил не могу найти ни одного упоминания. Мот кто знает что за ошибка?
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, cupuyc., Вы писали:
C>>Собственно вопрос в теме. C>>Не могу подключить дллку через LoadLibrary. C>>GetLastError выдает номер ошибки "-529697949". В инете облазил не могу найти ни одного упоминания. Мот кто знает что за ошибка?
PD>Не бывает ИМХО такой ошибки. Покажи код.
бывает)
собственно программа написана только для проверки загружаемости библиотек большого проекта. В проекте есть схожая функция, она отрабатывает нормально без ошибок, а отдельная программа (код ниже) загружает только одну треть, остальные две трети выкидывают одну и ту же ошибку: -529697949 или в 16-тиричной E06D7363(спасибо breee breee).
вот код:
Здравствуйте, B0FEE664, Вы писали:
BFE>Здравствуйте, cupuyc., Вы писали:
C>>Собственно вопрос в теме. C>>Не могу подключить дллку через LoadLibrary. C>>GetLastError выдает номер ошибки "-529697949". В инете облазил не могу найти ни одного упоминания. Мот кто знает что за ошибка?
BFE>Скорее всего dll бросила исключение во время загрузки. И это исключение никто не поймал.
Сделал как написано в решении http://support.microsoft.com/kb/185294.
Теперь при отладке вылетает сообщение:
Frst-chance exeption in TestingDll.exe (kernel32.dll): 0xE06D7363: Microsoft C++ Exception.
... и останавливается на дизассемблере в коде.
Вот только что мне теперь делать, я так и не знаю как исправить ошибку.
Здравствуйте, cupuyc., Вы писали:
C>Сделал как написано в решении http://support.microsoft.com/kb/185294. C> Теперь при отладке вылетает сообщение: C> Frst-chance exeption in TestingDll.exe (kernel32.dll): 0xE06D7363: Microsoft C++ Exception. C> ... и останавливается на дизассемблере в коде. C> Вот только что мне теперь делать, я так и не знаю как исправить ошибку.
Что именно сделал? Выставил "Stop always"? Это не нужно.
Исключение скорее всего вылетает в функции DllMain той dll-ки, которую ты загружаешь. Тебе нужно посмотреть ее код, чтобы разобраться почему это происходит и пофиксить это.
Здравствуйте, cupuyc., Вы писали:
BFE>>Скорее всего dll бросила исключение во время загрузки. И это исключение никто не поймал.
C>а как перехватить это исключение ?
Можно начать с try-catch блока в функции DllMain. Что-то вроде:
Здравствуйте, breee breee, Вы писали:
BB>Здравствуйте, cupuyc., Вы писали:
BFE>>>Скорее всего dll бросила исключение во время загрузки. И это исключение никто не поймал.
C>>а как перехватить это исключение ?
BB>Можно начать с try-catch блока в функции DllMain. Что-то вроде:
BB>
BB>Если что-то поймается, разбираться почему это происходит.
спасибо, попробую. но если я не имею доступа к исходникам дллки?
как я писал раньше вопрос в том что в проекте есть функция которая идентична написаной мной в отдельной программе(код выше), я тупо копипастил, причем эта функция вызывается из отдельной дллки, НО в проекте эта функция отрабатывает на все 100% дллок, а в отдельной программе одна треть не загружает и выкидывает эту ошибку. Меня вот это сбивает с толку.
Здравствуйте, cupuyc., Вы писали:
C>спасибо, попробую. но если я не имею доступа к исходникам дллки? C>как я писал раньше вопрос в том что в проекте есть функция которая идентична написаной мной в отдельной программе(код выше), я тупо копипастил, причем эта функция вызывается из отдельной дллки, НО в проекте эта функция отрабатывает на все 100% дллок, а в отдельной программе одна треть не загружает и выкидывает эту ошибку. Меня вот это сбивает с толку.
Сложно сказать. Можно, например, попробовать положить отдельную программу в каталог, где находится проект. Или посмотреть повнимательнее проект, где код работает. Может, там что-то инициализируется, что в дальнейшем используется dll-ками.
Здравствуйте, breee breee, Вы писали:
BB>Здравствуйте, cupuyc., Вы писали:
C>>спасибо, попробую. но если я не имею доступа к исходникам дллки? C>>как я писал раньше вопрос в том что в проекте есть функция которая идентична написаной мной в отдельной программе(код выше), я тупо копипастил, причем эта функция вызывается из отдельной дллки, НО в проекте эта функция отрабатывает на все 100% дллок, а в отдельной программе одна треть не загружает и выкидывает эту ошибку. Меня вот это сбивает с толку.
BB>Сложно сказать. Можно, например, попробовать положить отдельную программу в каталог, где находится проект. Или посмотреть повнимательнее проект, где код работает. Может, там что-то инициализируется, что в дальнейшем используется dll-ками.
С перехватом сообщения не получилось, в Debug окно ничего не передает
поместил программу в папку с проектом, теперь ошибки другие, вот что выдает GetLastError():
126 — 7e;
127 — 7f;
1114 — 45а;
... и в основном эта 998 — 3e6;
что говорит мсдн:
126 — 7e:
ERROR_MOD_NOT_FOUND
126 (0x7E)
The specified module could not be found.
... модуль есть.
127 — 7f:
ERROR_PROC_NOT_FOUND
127 (0x7F)
The specified procedure could not be found.
не могу понять что он имеет в виду, какая процедура...
1114 — 45а;
ERROR_DLL_INIT_FAILED
1114 (0x45A)
A dynamic link library (DLL) initialization routine failed.
... ошибка инициализации, где бы это посмотреть? в блоке DLLMain?
998 — 3e6;
ERROR_NOACCESS
998 (0x3E6)
Invalid access to memory location.
... почему нету доступа? я выгружаю те которые не нужны.
> Что именно сделал? Выставил "Stop always"? Это не нужно. > Исключение скорее всего вылетает в функции DllMain той dll-ки, которую ты > загружаешь. Тебе нужно посмотреть ее код, чтобы разобраться почему это > происходит и пофиксить это.
Так надо в отладчике поставить break on exception и оно поймаецо.
On 07/11/2012 12:13 PM, cupuyc. wrote:
> спасибо, попробую.
Не надо ловить исключение. Ты с этим ничего не сможешь сделать.
Надо включить ловилку в отладчике и глядеть где DLL-ка падает
при загрузке.
но если я не имею доступа к исходникам дллки?
А что ж ты тогда вообще хочешь ? Даже если ты найдёшь ошибку,
исправить без исходников всё равно невозможно.
Оно конечно может быть это какая-то наведённая ошибка, типа она
сама например грузить ещё третью ДЛЛ, и всё падает уже там, в третьей.
Тогда ты сможешь исправить это может быть.
> как я писал раньше вопрос в том что в проекте есть функция которая идентична > написаной мной в отдельной программе(код выше), я тупо копипастил, причем эта > функция вызывается из отдельной дллки, НО в проекте эта функция отрабатывает на > все 100% дллок, а в отдельной программе одна треть не загружает и выкидывает эту > ошибку. Меня вот это сбивает с толку.
Здравствуйте, cupuyc., Вы писали:
C>что говорит мсдн: C>126 — 7e: C>ERROR_MOD_NOT_FOUND C>126 (0x7E) C>The specified module could not be found. C>... модуль есть.