ИСПРАВЛЕНИЕ. Сообщение об ошибке при запуске приложения, разработанного для платформы x64 с помощью вызова функции strncpy файлом MSVCR90.dll: "необработанное исключение win32 произошло в "имя_приложения"."

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 956420
Проблема
У вас есть приложение, которое настроено на построение для x64 платформы с помощью файла Msvcr90.dll. Приложение вызывает функции strncpy . При выполнении приложения в окне JIT – отладчик Visual Studio может появиться следующее сообщение об ошибке:
Необработанное исключение win32 произошло в "имя_приложения'
При проверке стека вызовов может оказаться, что нарушение прав доступа вызвано в файле Msvcr90.dll и что приложение перестало отвечать на функции strncpy. Эта проблема возникает при выполнении следующих условий:
  • К концу allocatedpage расширяет исходный буфер.
  • На следующей странице afterthis байтов не принадлежит к запущенному процессу.
  • Длина для копирования — даже несколько of8.
  • Длина для копирования включает конечный байт thesourcebuffer.
Причина
Эта проблема возникает из-за функции strncpy пытается получить доступ к следующий байт после исходного буфера. Эта проблема описана оптимизациями некоторых функций библиотеки CRT.
Решение

Сведения об исправлении

Исправление от корпорации Майкрософт доступно. Тем не менее он предназначен только для устранения проблемы, описанной в этой статье. Предлагаемое исправление должно применяться исключительно в системах, в которых обнаружена эта специфическая неполадка. Это исправление может проходить дополнительное тестирование. Таким образом, если вы не подвержены серьезно этой проблеме, рекомендуется дождаться следующего пакета обновления для Visual Studio 2008, содержащего это исправление.

Для немедленного решения этой проблемы обратитесь в службу поддержки пользователей Майкрософт для получения исправления. Полный список телефонов службы поддержки клиентов корпорации Майкрософт и сведения о стоимости поддержки посетите следующий веб-сайт корпорации Майкрософт:Примечание В особых случаях оплата, предусмотренная за обращение в службу поддержки может быть отменена, если специалист службы технической поддержки Майкрософт определит, что обновление будет решением проблемы. Затраты на обычные услуги службы поддержки будут применяться к дополнительным вопросам и проблемам, которые не охватываются конкретным обновлением.

Предварительные условия

Необходимо установить пакет обновления 1 для Visual Studio 2008 для установки этого исправления.

Необходимость перезагрузки

Не требуется перезагружать компьютер после установки данного исправления.

Сведения о замене исправлений

Это исправление не заменяет других исправлений.

Сведения о файлах

Английская версия данного исправления содержит атрибуты файла (или более поздние атрибуты файлов), приведенные в следующей таблице. Дата и время для этих файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, он преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, откройте вкладку Часовой пояс элемента Дата и время в панели управления.
Имя файлаВерсия файлаРазмер файлаДатаВремяПлатформа
ATL90.dll9.0.30729.162159,55214 октября 2008 г.02:32x86
MFC90.dll9.0.30729.1625,084,48014 октября 2008 г.01:12x64
MFC90.dll9.0.30729.1623,766,08014 октября 2008 г.02:32x86
Mfc90chs.dll9.0.30729.16236,68014 октября 2008 г.01:12x64
Mfc90chs.dll9.0.30729.16236,68014 октября 2008 г.02:32x86
Mfc90cht.dll9.0.30729.16237,70414 октября 2008 г.01:12x64
Mfc90cht.dll9.0.30729.16237,70414 октября 2008 г.02:32x86
Mfc90d.dll9.0.30729.1627,419,20014 октября 2008 г.01:12x64
Mfc90d.dll9.0.30729.1625,934,91214 октября 2008 г.02:32x86
Mfc90deu.dll9.0.30729.16264,32814 октября 2008 г.01:12x64
Mfc90deu.dll9.0.30729.16264,32814 октября 2008 г.02:32x86
Mfc90enu.dll9.0.30729.16254,60014 октября 2008 г.01:12x64
Mfc90enu.dll9.0.30729.16254,60014 октября 2008 г.02:32x86
Mfc90esn.dll9.0.30729.16262,79214 октября 2008 г.01:12x64
Mfc90esn.dll9.0.30729.16262,79214 октября 2008 г.02:32x86
Mfc90esp.dll9.0.30729.16262,79214 октября 2008 г.01:12x64
Mfc90esp.dll9.0.30729.16262,79214 октября 2008 г.02:32x86
Mfc90fra.dll9.0.30729.16263,81614 октября 2008 г.01:12x64
Mfc90fra.dll9.0.30729.16263,81614 октября 2008 г.02:32x86
Mfc90ita.dll9.0.30729.16262,28014 октября 2008 г.01:12x64
Mfc90ita.dll9.0.30729.16262,28014 октября 2008 г.02:32x86
Mfc90jpn.dll9.0.30729.16244,36014 октября 2008 г.01:12x64
Mfc90jpn.dll9.0.30729.16244,36014 октября 2008 г.02:32x86
Mfc90kor.dll9.0.30729.16243,84814 октября 2008 г.01:12x64
Mfc90kor.dll9.0.30729.16243,84814 октября 2008 г.02:32x86
MFC90U.dll9.0.30729.1625,103,42414 октября 2008 г.01:12x64
MFC90U.dll9.0.30729.1623,781,44014 октября 2008 г.02:32x86
Mfc90ud.dll9.0.30729.1627,464,26414 октября 2008 г.01:12x64
Mfc90ud.dll9.0.30729.1625,980,48814 октября 2008 г.02:32x86
Mfcm90.dll9.0.30729.16267,07214 октября 2008 г.00:50x64
Mfcm90.dll9.0.30729.16259,90414 октября 2008 г.00:20x86
Mfcm90d.dll9.0.30729.16293,18414 октября 2008 г.00:50x64
Mfcm90d.dll9.0.30729.16280,89614 октября 2008 г.00:20x86
Mfcm90u.dll9.0.30729.16267,07214 октября 2008 г.00:50x64
Mfcm90u.dll9.0.30729.16259,90414 октября 2008 г.00:20x86
Mfcm90ud.dll9.0.30729.16293,69614 октября 2008 г.00:50x64
Mfcm90ud.dll9.0.30729.16280,89614 октября 2008 г.00:20x86
Mfcmifc80u.dll9.0.30729.16214,15220 октября 2008 г.17:19x86
Microsoft.VisualC.StlClr.dll9.0.30729.16249,00020 октября 2008 г.17:19x86
Msvcm90.dll9.0.30729.162225,28013 октября 2008 г.21:59x86
Msvcm90.dll9.0.30729.162324,09613 октября 2008 г.22:36IA-64
Msvcm90.dll9.0.30729.162245,76013 октября 2008 г.23:40x64
Msvcm90d.dll9.0.30729.162312,83213 октября 2008 г.21:59x86
Msvcm90d.dll9.0.30729.162429,56813 октября 2008 г.22:37IA-64
Msvcm90d.dll9.0.30729.162333 31213 октября 2008 г.23:40x64
Msvcp90.dll9.0.30729.1621,467,20814 октября 2008 г.00:56IA-64
Msvcp90.dll9.0.30729.162854,34414 октября 2008 г.01:12x64
Msvcp90.dll9.0.30729.162570,69614 октября 2008 г.02:32x86
Msvcp90d.dll9.0.30729.1622,514,76014 октября 2008 г.00:56IA-64
Msvcp90d.dll9.0.30729.1621,121,60814 октября 2008 г.01:12x64
Msvcp90d.dll9.0.30729.162873,28814 октября 2008 г.02:32x86
Msvcr90.dll9.0.30729.1621,504,58414 октября 2008 г.00:56IA-64
Msvcr90.dll9.0.30729.162624,45614 октября 2008 г.01:12x64
Msvcr90.dll9.0.30729.162653,64014 октября 2008 г.02:32x86
Msvcr90d.dll9.0.30729.1623,599,68814 октября 2008 г.00:56IA-64
Msvcr90d.dll9.0.30729.1621,349,96014 октября 2008 г.01:12x64
Msvcr90d.dll9.0.30729.1621,178,44014 октября 2008 г.02:32x86
Vcomp90.dll9.0.30729.162142,66414 октября 2008 г.00:56IA-64
Vcomp90.dll9.0.30729.16257,67214 октября 2008 г.01:12x64
Vcomp90.dll9.0.30729.16252,04014 октября 2008 г.02:32x86
Vcomp90d.dll9.0.30729.162317,25614 октября 2008 г.00:56IA-64
Vcomp90d.dll9.0.30729.162105,80014 октября 2008 г.01:12x64
Vcomp90d.dll9.0.30729.16289,41614 октября 2008 г.02:32x86
Vcomp90ui.dll9.0.30729.16211,59220 октября 2008 г.17:19x86
Vcredist_ia64.exe9.0.30729.1624,712,27214 октября 2008 г.19:32x86
Vcredist_x64.exe9.0.30729.1625,236,56014 октября 2008 г.19:36x86
Vcredist_x86.exe9.0.30729.1624,496,20814 октября 2008 г.19:28x86
Временное решение
Чтобы обойти эту проблему, воспользуйтесь одним из следующих методов:
  • Изменение любого из четырех условий, описанных в разделе «Проблема».
  • Заменить strncpy функция withother функции, которые имеют похожие функции, такие как memcpyфункция или lstrcpyn функция.

    Примечание Эти функции копирования могут немного отличаться. Например memcpy функция не заканчивается Копировать строки нулевым байтом, возникших до указанной длины.
Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".
Дополнительная информация
Для получения дополнительных сведений о терминологии обновлений программного обеспечения щелкните следующий номер статьи базы знаний Майкрософт:
824684 Описание стандартной терминологии, используемой для описания обновлений программных продуктов Майкрософт

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 956420 — последний просмотр: 07/03/2016 19:35:00 — редакция: 24.0

Microsoft Visual Studio 2008 Professional Edition, Microsoft Visual Studio 2008 Standard Edition, Microsoft Visual Studio 2008 Team Suite

  • kbfix kbexpertiseadvanced kbqfe kbmt KB956420 KbMtru
Отзывы и предложения