Поделиться через


Анализ качества приложений с помощью средств анализа кода

Новые возможности Visual Studio 2012

Окно анализа кода

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

Фильтр предупреждающих сообщений

В окне сообщения в окне Анализ кода можно фильтровать по ключевому слову, проекту и серьезности.

Выделение редактора кода

Выбор сообщение в ходе анализа кода окна выделяет линию в редакторе исходного кода, в которой сообщение было активировано.

Подавление сообщения C++

В окне Анализ кода можно вставить pragma в исходный код, подавляющий выбранным предупреждение.

Наборы правил C++

Как и в управляемом коде, теперь можно определить правила анализа, которые нужно применить к запуску анализа кода путем создания или использования наборов правил.

Dd264897.collapse_all(ru-ru,VS.110).gifПоддержка приложений Windows Магазина

Можно выполнить анализ кода в коде Visual Basic, C-# и C/++ Магазина в приложениях Windows.Дополнительные сведения см. в Анализ качество кода приложений Windows Магазина с анализом кода Visual Studio Центр разработки для Windows.

Dd264897.collapse_all(ru-ru,VS.110).gifНовые предупреждения параллелизма для C++

Новые предупреждения параллелизма позволяют гарантировать дисциплины блокировки в многопоточных программах C/C++.Анализатор обнаруживает число ошибок параллельной обработки, включая потенциальные гонки, инверсии порядка блокировки, блокировки нарушения контракта вызывающего/вызываемого и несоответствующие синхронизации операций.

C26100

Состояние гонкиПеременная <var> должна быть защищена блокировкой <lock>.

C26101

Неправильное использование операции блокировки для переменной <var>.

C26105

Нарушение порядка блокировки.Получение блокировки <lock> с уровнем <level> вызывает изменение порядка.

C26110

Вызывающая сторона не может удержать блокировку <lock> до вызова функции <func>.

C26111

Вызывающая сторона не может освободить блокировку <lock> до вызова функции <func>.

C26112

Вызывающая сторона не может содержать любые блокировки до вызова <func>.

C26115

Сбой при освобождении блокировки <lock> в функции <func>.

C26116

Сбой при получении или удержании блокировки <lock> в <func>.

C26117

Освобождение неудерживаемой блокировки <lock> в функции <func>.

C26130

Отсутствует примечание _Requires_lock_held_ (<lock>) или _No_competing_thread_ на функции <func>.В противном случае возможно состояние гонки.Переменная <var> должна быть защищена блокировкой <lock>.

C26135

Отсутствует примечание <annotation> на функции <func>.

C26140

Ошибка примечания Concurrency SAL

C26160

Вызывающая сторона не смогла удержать блокировку <lock> до вызова функции <func>.

C26165

Отсутствие возможности освободить блокировку

C26166

Отсутствие возможности для получения или удержания блокировки <lock>в функции <func>.

C26167

Возможность освобождения неудержанной блокировки <lock> в функции <func>.

C28101

Модуль драйверов определил, что текущая функция не относится к правильному типу функции

C28182

Разыменование пустого (NULL) указателя.

Содержание

Dd264897.collapse_all(ru-ru,VS.110).gifанализа управляемого кода

Анализа управляемого кода предоставляет информацию об управляемых сборках и позволяет получить такие сведения о сборках, как нарушения правил программирования и разработки, изложенных в руководствах по разработке Microsoft .NET Framework.В предупреждающих сообщениях указываются все проблемы, связанные с программированием и разработкой, и, по возможности, сведения о методах их устранения.

Dd264897.collapse_all(ru-ru,VS.110).gifАнализ кода С++

Средство анализа кода C/C++ предоставляет разработчикам сведения о возможных дефектах в исходном коде C/C++.К наиболее распространенным ошибкам кодирования, которые обнаруживает данное средство, относятся переполнение буфера, неинициализированная память, разыменования пустых указателей, а также утечки памяти и ресурсов.

Dd264897.collapse_all(ru-ru,VS.110).gifАнализ кода для драйверов

Средства анализа кода можно повысить стабильность и надежность драйвера путем систематического анализа исходного кода драйвера.

  • Analyzing Driver Quality by Using Code Analysis Tools
    Анализ кода для драйверов — это средство статической проверки во время компиляции, которое определяет основные ошибки в программах на С и C++ и включает специализированный модуль, предназначенный для обнаружения ошибок в коде (основном) в режиме ядра драйвера...Статическое средство проверки драйвера (SDV) — это статическое средство проверки, систематически анализирующее код источника работы в режиме ядра Windows драйверов.Определяет, правильно ли драйвер SDV взаимодействует с ядром операционной системы Windows.

  • Code Analysis for Drivers Warnings
    Описание предупреждений, о которых сообщает анализатор кода для драйверов при обнаружении возможных ошибок в коде драйвера.

Dd264897.collapse_all(ru-ru,VS.110).gifДополнительные статьи в этом разделе

Дополнительные сведения об анализаторе кода

Связанные задачи