Возникает ошибка нарушения прав доступа при запуске приложения Visual C++ 2010, построенного для платформы x 64, если включен параметр оптимизации компилятора

Переводы статьи Переводы статьи
Код статьи: 2485545 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

Рассмотрим следующий сценарий:
  • Необходимо создать проект Microsoft Visual C++ 2010.
  • Можно использовать функцию, которая возвращает локальную переменную, размер которого превышает 64 байта.
  • Можно включить параметр оптимизации компилятора для проекта. Например, можно включить Максимальная скорость (/ O2) параметр оптимизации компилятора.
  • Построение проекта для платформы x 64 с помощью Microsoft Visual Studio 2010 и повторите запуск построения приложения.
В этом случае возникает ошибка нарушения прав доступа и приложение завершает работу.

Причина

Эта проблема возникает, так как инструкция, требуется буфер данных в блоках 16-байтовое выравнивание вызывает код, создаваемый компилятором. Например код вызывает инструкцию MOVAPD или MOVDQA . Тем не менее буфер данных может быть не выровненной. Таким образом нарушение прав доступа происходит, когда приложение использует эта инструкция для записи в буфер данных не выровненной оптимизированного локальной переменной.

Решение

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

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

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

Необходимые условия

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

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

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

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

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

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

Английская версия данного исправления содержит атрибуты файла (или более поздними), приведенные в следующей таблице. Дата и время для этих файлов указаны в UTC. При просмотре сведений о файле, оно преобразуется в локальное время. Чтобы узнать разницу между временем UTC и местным временем, используйте вкладку часовой пояс элемента Дата и время панели управления.
Для всех поддерживаемых версий Team Foundation Server 2008
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файлаДатаВремяПлатформы
C2.dll16.0.30319.4132,508,09601 января 2011 г.02:33x86
C2.dll16.0.30319.4132,627,39201 января 2011 г.02:33x86
C2.dll16.0.30319.4132,975,55201 января 2011 г.02:33x64

Статус

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в разделе «Информация в данной статье применима к:».

Свойства

Код статьи: 2485545 - Последний отзыв: 22 июня 2014 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual Studio 2010 Professional
  • Microsoft Visual Studio 2010 Ultimate
  • Microsoft Visual Studio 2010 Premium with MSDN
Ключевые слова: 
kbfix kbqfe kbhotfixserver kbexpertiseadvanced kbsurveynew kbmt KB2485545 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 2485545

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com