1

Я пытаюсь использовать исполняемый файл (написанный на C), который вызывает библиотеку C++. Я получаю эту ошибку в моем окне Windows Server 2008 :

Faulting application name: sample.exe, version: 0.0.0.0, time stamp: 0x4d668157
Faulting module name: MSVCR90.dll, version: 9.0.30729.4974, time stamp: 0x4b7a226f
Exception code: 0xc0000417
Fault offset: 0x0002fc96
Faulting process id: 0xf10
Faulting application start time: 0x01cbd45775cc7011
Faulting application path: C:\Bprobe\sample.exe
Faulting module path: C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4974_none_50940634bcb759cb\MSVCR90.dll
Report Id: b37b5e67-404a-11e0-b69c-00155d2fb513

Один и тот же EXE-файл работает в Windows 7 и Windows XP, поэтому я предполагаю, что это отсутствующий компонент.

Есть идеи?

Это не похоже на проблему исключительно для Windows Server 2008. Я только что проверил на Windows XP и получил ту же ошибку (у меня есть другие окна Windows XP, где это работало).

2 ответа2

2

Код исключения 0xc0000417 - STATUS_INVALID_CRUNTIME_PARAMETER. Похоже, неверный параметр был передан функции времени выполнения C.

Я бы запустил приложение под отладчиком, с WinDBG или VS, если он установлен на этой машине. Настройте отладчик так, чтобы он прерывался на все исключения первого шанса (или вы могли бы добавить этот код исключения напрямую, и он имел разрыв только на этом исключении), а когда вы нажмете исключение, изучите стек вызовов. Используйте общедоступный сервер символов Microsoft для разрешения символов (он будет иметь символы библиотеки VS 2008 CRT). У вас должен быть файл .pdb для вашего .exe или в пути поиска символов.

Если кадры из вашего модуля находятся где-либо в стеке вызовов, дважды щелкните первый, начиная сверху вниз. Проверьте, какая функция времени выполнения C вызывается.

0

Это не пропущенная проблема с библиотекой, но предоставленной вами информации недостаточно, чтобы даже начать диагностировать проблему. Попробуйте запустить программу в отладчике и посмотреть, где она падает. Скорее всего, используемая вами программа или библиотека несовместимы с Windows 7, т. Е. Она допускает некоторые неверные предположения, которые никогда не допускались, что приводит к сбоям, когда эти предположения оказываются неверными в Win7.

Если у вас нет исходного кода, попробуйте мастер совместимости (щелкните правой кнопкой мыши exe -> устранить неполадки совместимости). Если это не поможет, обратитесь к поставщику и попросите его исправить ошибку в своей программе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .