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

Симптомы

У вас есть приложение, которое должно разрабатываться для платформы x 64 с помощью файла Msvcr90.dll. Приложение вызывает функции strncpy . При запуске приложения в окне JIT-отладчика Visual Studio может появиться следующее сообщение об ошибке:

Необработанное исключение win32 произошло в «application_name»

При проверке стека вызовов может оказаться вызвано нарушение прав доступа в файле Msvcr90.dll и что приложение перестает отвечать на запросы в функции strncpy . Эта проблема возникает при выполнении следующих условий:

  • Исходный буфер расширяется до конца выделенной страницы.

  • Следующий байт после этой страницы не принадлежит к выполняемому процессу.

  • Длина для копирования является кратным 8.

  • Длина для копирования включает конечный байт исходного буфера.

Причина

Эта проблема возникает, поскольку функции strncpy пытается получить доступ к следующему байту после исходного буфера. Эта проблема появилась при оптимизации некоторых функций библиотеки CRT.

Решение

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

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

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

http://support.microsoft.com/contactus/?ws=supportПримечание. В особых случаях оплата, предусмотренная за обращение в службу поддержки может быть отменена, если специалист службы технической поддержки Майкрософт определит, что обновление будет решением проблемы. Затраты на обычные услуги службы поддержки будут применяться к дополнительным вопросам и проблемам, которые не охватываются конкретным обновлением.

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

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

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

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

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

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

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

Английская версия данного исправления содержит атрибуты файла (или более поздние атрибуты файлов), приведенные в следующей таблице. Дата и время для этих файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, он преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, откройте вкладку Часовой пояс элемента Дата и время в панели управления.

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Atl90.dll

9.0.30729.162

159,552

14-Oct-2008

02:32

x86

Mfc90.dll

9.0.30729.162

5,084,480

14-Oct-2008

01:12

x64

Mfc90.dll

9.0.30729.162

3,766,080

14-Oct-2008

02:32

x86

Mfc90chs.dll

9.0.30729.162

36,680

14-Oct-2008

01:12

x64

Mfc90chs.dll

9.0.30729.162

36,680

14-Oct-2008

02:32

x86

Mfc90cht.dll

9.0.30729.162

37,704

14-Oct-2008

01:12

x64

Mfc90cht.dll

9.0.30729.162

37,704

14-Oct-2008

02:32

x86

Mfc90d.dll

9.0.30729.162

7,419,200

14-Oct-2008

01:12

x64

Mfc90d.dll

9.0.30729.162

5,934,912

14-Oct-2008

02:32

x86

Mfc90deu.dll

9.0.30729.162

64,328

14-Oct-2008

01:12

x64

Mfc90deu.dll

9.0.30729.162

64,328

14-Oct-2008

02:32

x86

Mfc90enu.dll

9.0.30729.162

54,600

14-Oct-2008

01:12

x64

Mfc90enu.dll

9.0.30729.162

54,600

14-Oct-2008

02:32

x86

Mfc90esn.dll

9.0.30729.162

62,792

14-Oct-2008

01:12

x64

Mfc90esn.dll

9.0.30729.162

62,792

14-Oct-2008

02:32

x86

Mfc90esp.dll

9.0.30729.162

62,792

14-Oct-2008

01:12

x64

Mfc90esp.dll

9.0.30729.162

62,792

14-Oct-2008

02:32

x86

Mfc90fra.dll

9.0.30729.162

63,816

14-Oct-2008

01:12

x64

Mfc90fra.dll

9.0.30729.162

63,816

14-Oct-2008

02:32

x86

Mfc90ita.dll

9.0.30729.162

62,280

14-Oct-2008

01:12

x64

Mfc90ita.dll

9.0.30729.162

62,280

14-Oct-2008

02:32

x86

Mfc90jpn.dll

9.0.30729.162

44,360

14-Oct-2008

01:12

x64

Mfc90jpn.dll

9.0.30729.162

44,360

14-Oct-2008

02:32

x86

Mfc90kor.dll

9.0.30729.162

43,848

14-Oct-2008

01:12

x64

Mfc90kor.dll

9.0.30729.162

43,848

14-Oct-2008

02:32

x86

Mfc90u.dll

9.0.30729.162

5,103,424

14-Oct-2008

01:12

x64

Mfc90u.dll

9.0.30729.162

3,781,440

14-Oct-2008

02:32

x86

Mfc90ud.dll

9.0.30729.162

7,464,264

14-Oct-2008

01:12

x64

Mfc90ud.dll

9.0.30729.162

5,980,488

14-Oct-2008

02:32

x86

Mfcm90.dll

9.0.30729.162

67,072

14-Oct-2008

00:50

x64

Mfcm90.dll

9.0.30729.162

59,904

14-Oct-2008

00:20

x86

Mfcm90d.dll

9.0.30729.162

93,184

14-Oct-2008

00:50

x64

Mfcm90d.dll

9.0.30729.162

80,896

14-Oct-2008

00:20

x86

Mfcm90u.dll

9.0.30729.162

67,072

14-Oct-2008

00:50

x64

Mfcm90u.dll

9.0.30729.162

59,904

14-Oct-2008

00:20

x86

Mfcm90ud.dll

9.0.30729.162

93,696

14-Oct-2008

00:50

x64

Mfcm90ud.dll

9.0.30729.162

80,896

14-Oct-2008

00:20

x86

Mfcmifc80u.dll

9.0.30729.162

14,152

20-Oct-2008

17:19

x86

Microsoft.visualc.stlclr.dll

9.0.30729.162

49,000

20-Oct-2008

17:19

x86

Msvcm90.dll

9.0.30729.162

225,280

13-Oct-2008

21:59

x86

Msvcm90.dll

9.0.30729.162

324,096

13-Oct-2008

22:36

IA-64

Msvcm90.dll

9.0.30729.162

245,760

13-Oct-2008

23:40

x64

Msvcm90d.dll

9.0.30729.162

312,832

13-Oct-2008

21:59

x86

Msvcm90d.dll

9.0.30729.162

429,568

13-Oct-2008

22:37

IA-64

Msvcm90d.dll

9.0.30729.162

333 312

13-Oct-2008

23:40

x64

Msvcp90.dll

9.0.30729.162

1,467,208

14-Oct-2008

00:56

IA-64

Msvcp90.dll

9.0.30729.162

854,344

14-Oct-2008

01:12

x64

Msvcp90.dll

9.0.30729.162

570,696

14-Oct-2008

02:32

x86

Msvcp90d.dll

9.0.30729.162

2,514,760

14-Oct-2008

00:56

IA-64

Msvcp90d.dll

9.0.30729.162

1,121,608

14-Oct-2008

01:12

x64

Msvcp90d.dll

9.0.30729.162

873,288

14-Oct-2008

02:32

x86

Msvcr90.dll

9.0.30729.162

1,504,584

14-Oct-2008

00:56

IA-64

Msvcr90.dll

9.0.30729.162

624,456

14-Oct-2008

01:12

x64

Msvcr90.dll

9.0.30729.162

653,640

14-Oct-2008

02:32

x86

Msvcr90d.dll

9.0.30729.162

3,599,688

14-Oct-2008

00:56

IA-64

Msvcr90d.dll

9.0.30729.162

1,349,960

14-Oct-2008

01:12

x64

Msvcr90d.dll

9.0.30729.162

1,178,440

14-Oct-2008

02:32

x86

Vcomp90.dll

9.0.30729.162

142,664

14-Oct-2008

00:56

IA-64

Vcomp90.dll

9.0.30729.162

57,672

14-Oct-2008

01:12

x64

Vcomp90.dll

9.0.30729.162

52,040

14-Oct-2008

02:32

x86

Vcomp90d.dll

9.0.30729.162

317,256

14-Oct-2008

00:56

IA-64

Vcomp90d.dll

9.0.30729.162

105,800

14-Oct-2008

01:12

x64

Vcomp90d.dll

9.0.30729.162

89,416

14-Oct-2008

02:32

x86

Vcomp90ui.dll

9.0.30729.162

11,592

20-Oct-2008

17:19

x86

Vcredist_ia64.exe

9.0.30729.162

4,712,272

14-Oct-2008

19:32

x86

Vcredist_x64.exe

9.0.30729.162

5,236,560

14-Oct-2008

19:36

x86

Vcredist_x86.exe

9.0.30729.162

4,496,208

14-Oct-2008

19:28

x86

Временное решение

Чтобы обойти эту проблему, воспользуйтесь одним из следующих методов:

  • Измените любой из четырех условий, описанных в разделе "Проблема".

  • Замена функции strncpy с другими функциями, которые имеют похожие функции, например функции memcpyили функции lstrcpyn .

    Примечание. Эти функции копирования могут немного отличаться. Например функции memcpy не заканчивается Копировать строки нулевым байтом, возникших до указанной длины.

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".

Дополнительные сведения

Для получения дополнительных сведений о терминологии обновлений программного обеспечения щелкните следующий номер статьи базы знаний Майкрософт:

Описание 824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×