Анализ качества приложений с помощью средств анализа кода
Окно анализа кода доступно во всех выпусках Visual Studio 2013.
Функции анализа кода
Окно анализа кода |
Теперь предупреждения средства анализа кода отображаются в окне средства анализа кода.Это окно позволяет устранять предупреждения средства анализа кода и управлять ими. |
Фильтрация предупреждающих сообщений |
В этом окне вы можете отфильтровать сообщения из окна анализа кода по ключевому слову, проекту и серьезности. |
Выделение в редакторе кода |
При выборе сообщения в окне анализа кода выделяется строка в том месте редакторе исходного кода, где было активировано сообщение. |
Подавление сообщения C++ |
В окне анализа кода вы можете вставить директиву pragma в исходный код, которая подавляет выбранное предупреждение. |
Наборы правил C++ |
Как и в управляемом коде, вы теперь можете указать правила анализа, которые хотите применить к запускам анализа кода, путем создания или использования наборов правил. |
Поддержка приложений для Магазина Windows
Анализ кода можно выполнить в коде Visual Basic, C# и C/++ в приложениях для Магазина Windows.Дополнительную информацию см. в разделе Анализ качества кода приложений для Магазина Windows с помощью средства анализа кода Visual Studio в Центре разработки для Windows.
Новые предупреждения параллелизма C++
Новые предупреждения параллелизма позволяют гарантировать дисциплины блокировки в многопоточных программах C/C++.Анализатор определяет количество ошибок параллелизма, включая потенциальные состояния гонки, инверсии порядка блокировки, нарушения контракта блокировки "вызывающий/вызываемый" и несоответствие операций синхронизации.
Состояние гонки.Переменная <var> должна быть защищена блокировкой <lock>. |
|
Неправильное использование операции блокировки для переменной <var>. |
|
Нарушение порядка блокировки.Приобретение блокировки <lock> уровня <level> вызывает инверсию порядка. |
|
Вызывающая сторона не может удержать блокировку <lock> до вызова функции <func>. |
|
Вызывающая сторона не может освободить блокировку <lock> до вызова функции <func>. |
|
Вызывающая сторона не может содержать любые блокировки до вызова <func>. |
|
Сбой при освобождении блокировки <lock> в функции <func>. |
|
Сбой при получении или удержании блокировки <lock> в <func>. |
|
Освобождение неудерживаемой блокировки <lock> в функции <func>. |
|
Отсутствует аннотация _Requires_lock_held_(<lock>) или _No_competing_thread_ в функции <func>.В противном случае это может вызвать условие гонки.Переменная <var> должна быть защищена блокировкой <lock>. |
|
Отсутствует аннотация <annotation> в функции <func>. |
|
Ошибка аннотации SAL параллелизма |
|
Вызывающая сторона не смогла удержать блокировку <lock> до вызова функции <func>. |
|
Возможно, не удалось снять блокировку |
|
Возможно, не удается получить или удержать блокировку <lock> в функции <func>. |
|
Возможно, освобождается неудерживаемая блокировка <lock> в функции <func>. |
|
Модуль драйверов определил, что текущая функция не имеет правильного типа функции |
|
Разыменование указателя NULL |
Содержание раздела
Анализ управляемого кода
Анализ управляемого кода позволяет получить такие сведения о сборках управляемого кода, как нарушение правил программирования и разработки, изложенных в руководствах по разработке для Microsoft .NET Framework.В предупреждающих сообщениях указываются все проблемы, связанные с программированием и разработкой, и, по возможности, сведения о методах их устранения.
Анализ качества управляемого кода с помощью метода анализа кода
Узнайте, как настроить и запустить средство анализа управляемого кода.Анализ для предупреждений управляемого кода Описывает предупреждения, которые передает средства анализа кода для C/C++.
Средства анализа кода C++
Средство анализа кода C/C++ предоставляет сведения о возможных дефектах в исходном коде C/C++.Наиболее распространенные ошибки, обнаруживаемые этим средством: переполнение буфера, неинициализированная память, разыменование пустых указателей, а также утечка памяти и ресурсов.
Анализ качества кода C/C++ с помощью метода анализа кода
Узнайте, как настроить и запустить средство анализа управляемого кода C/C++.Анализ кода для предупреждений C/C++
Описывает предупреждения, которые передает средство анализа кода для C/C++.
Анализ кода для драйверов
Средства анализа кода могут помочь повысить стабильность и надежность драйвера путем систематического анализа исходного кода драйвера.
Analyzing Driver Quality by Using Code Analysis Tools
Анализ кода для драйверов — это средство статической проверки во время компиляции, которое обнаруживает основные ошибки кода в программах на языках C и C++ и включает специальный модуль, предназначенный для выявления ошибок (в основном) в коде драйвера, работающего в режиме ядра.Средство статической проверки (SDV) — это средство статической проверки, которое систематически анализирует исходный код в работающих в режиме ядра драйверах Windows.SDV определяет, правильно ли драйвер взаимодействует с ядром операционной системы Windows.Code Analysis for Drivers Warnings
Описание предупреждений, передаваемых функцией анализа кода для драйверов при обнаружении возможной ошибки в коде драйвера.
Дополнительные разделы в этом разделе
Дополнительные сведения о средстве анализа кода
Улучшение качества кода с помощью политик возврата командного проекта