Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jakość aplikacji można poprawić, uruchamiając regularnie analizę kodu w kodzie C lub C++. Analiza kodu może pomóc w znalezieniu typowych problemów i naruszeń dobrej praktyki programistycznej. I znajduje wady, które są trudne do odnalezienia w ramach testowania. Ostrzeżenia różnią się od błędów i ostrzeżeń kompilatora: wyszukuje określone wzorce kodu, które są znane jako przyczyna problemów. Oznacza to, że kod jest prawidłowy, ale nadal może tworzyć problemy, zarówno dla Ciebie, jak i dla innych osób, które używają kodu.
Konfigurowanie zestawów reguł dla projektu
W Eksplorator rozwiązań otwórz menu skrótów dla nazwy projektu, a następnie wybierz pozycję Właściwości.
Opcjonalnie na liście Konfiguracja i platforma wybierz konfigurację kompilacji i platformę docelową.
Aby uruchomić analizę kodu za każdym razem, gdy projekt jest kompilowany przy użyciu wybranej konfiguracji, zaznacz pole wyboru Włącz analizę kodu w kompilacji . Możesz również uruchomić analizę kodu ręcznie, otwierając menu Analizuj, a następnie wybierając polecenie Uruchom analizę kodu w programie ProjectName lub Uruchom analizę kodu w pliku.
Wybierz zestaw reguł, którego chcesz użyć, lub utwórz niestandardowy zestaw reguł. Jeśli używasz LLVM/clang-cl, zobacz Using Clang-Tidy in Visual Studio, aby skonfigurować opcje analizy Clang-Tidy.
Standardowe zestawy reguł C/C++
Program Visual Studio zawiera następujące standardowe zestawy reguł dla kodu natywnego:
| Zestaw reguł | opis |
|---|---|
| Podstawowe reguły arytmetyczne sprawdzania języka C++ | Te reguły wymuszają kontrole związane z operacjami arytmetycznymi z podstawowych wytycznych dotyczących języka C++. |
| Podstawowe reguły sprawdzania granic języka C++ | Te zasady wymuszają profil Granic wytycznych głównych dla C++. |
| Podstawowe reguły sprawdzania klas języka C++ | Te reguły wymuszają kontrole związane z klasami z podstawowych wytycznych dotyczących języka C++. |
| Podstawowe reguły sprawdzania współbieżności języka C++ | Te reguły wymuszają kontrole związane z współbieżnością z podstawowych wytycznych dotyczących języka C++. |
| Podstawowe reguły sprawdzania const języka C++ | Te reguły wymuszają kontrole związane z const z wytycznych podstawowych języka C++. |
| Podstawowe reguły deklaracji sprawdzania języka C++ | Te reguły wymuszają kontrole związane z deklaracjami z podstawowych wytycznych dotyczących języka C++. |
| Podstawowe zasady sprawdzania enumeracji C++ | Reguły te wymuszają kontrole związane z enum z podstawowych wytycznych rdzenia języka C++. |
| Podstawowe reguły sprawdzania kodu C++ — eksperymentalne | Te zasady obejmują niektóre kontrole eksperymentalne. W końcu oczekujemy, że te kontrole zostaną przeniesione do innych zestawów reguł lub całkowicie usunięte. |
| Podstawowe reguły funkcji sprawdzania języka C++ | Te reguły wymuszają kontrole związane z funkcjami z podstawowych wytycznych dotyczących języka C++. |
| Podstawowe reguły sprawdzania GSL języka C++ | Te reguły wymuszają kontrole związane z Biblioteką Wsparcia Wytycznych z Wytycznych Jądra C++. |
| Podstawowe zasady sprawdzania okresu istnienia w języku C++ | Te reguły egzekwują profil żywotności wytycznych głównych języka C++. |
| Reguły C++ Core Check dotyczące wskaźników właściciela | Te reguły wymuszają kontrole zarządzania zasobami związane z owner<T> podstawowymi wytycznymi języka C++. |
| Podstawowe reguły sprawdzania wskaźnika podstawowego języka C++ | Te zasady wymuszają kontrole zarządzania zasobami związane z surowymi wskaźnikami z Podstawowych Wytycznych Języka C++. |
| Podstawowe reguły sprawdzania języka C++ | Te reguły wymuszają podzbiór testów z podstawowych wytycznych dotyczących języka C++. Użyj tego zestawu reguł, aby uwzględnić wszystkie reguły sprawdzania podstawowego języka C++ z wyjątkiem zestawów reguł wyliczenia i eksperymentalnych. |
| Podstawowe reguły wskaźnika sprawdzania kodu C++ | Te reguły wymuszają kontrole zarządzania zasobami związane z typami z semantykami współużytkowanych wskaźników z podstawowych wytycznych dotyczących języka C++. |
| Podstawowe reguły sprawdzania biblioteki STL języka C++ | Te reguły wymuszają kontrole związane z biblioteką standardową języka C++ z podstawowych wytycznych dotyczących języka C++. |
| Podstawowe reguły stylu sprawdzania języka C++ | Te reguły wymuszają kontrole związane z używaniem wyrażeń i instrukcji z podstawowych wytycznych dotyczących języka C++. |
| Podstawowe reguły typów sprawdzania języka C++ | Te zasady wymuszają profil typu z wytycznych głównych dla C++. |
| Podstawowe reguły sprawdzania unikatowych wskaźników języka C++ | Te zasady wymuszają kontrole zarządzania zasobami związane z typami z semantyką unikalnych wskaźników z Podstawowych Wytycznych Języka C++. |
| Reguły sprawdzania współbieżności | Te reguły wymuszają zestaw testów wzorca współbieżności Win32 w języku C++. |
| Reguły współbieżności | Dodaje reguły współbieżności z podstawowych wytycznych języka C++ do reguł sprawdzania współbieżności. |
| Minimalna reguła natywna firmy Microsoft | Te zasady koncentrują się na najbardziej krytycznych problemach w rodzimym kodzie, w tym potencjalnych lukach w zabezpieczeniach i awariach aplikacji. Zalecamy dołączenie tego zestawu reguł do dowolnego niestandardowego zestawu reguł utworzonego dla projektów natywnych. |
| Zalecane reguły natywne firmy Microsoft | Te reguły koncentrują się na najbardziej krytycznych i typowych problemach w kodzie natywnym. Te problemy obejmują potencjalne luki w zabezpieczeniach i awarie aplikacji. Zalecamy dołączenie tego zestawu reguł do dowolnego niestandardowego zestawu reguł utworzonego dla projektów natywnych. Ten zestaw reguł jest przeznaczony do pracy z programem Visual Studio Professional i nowszym. Zawiera wszystkie reguły z minimalnych reguł natywnych Microsoft. |
Program Visual Studio zawiera następujące standardowe zestawy reguł dla kodu zarządzanego:
| Zestaw reguł | opis |
|---|---|
| Podstawowe reguły poprawności firmy Microsoft | Te reguły koncentrują się na błędach logiki i typowych błędach występujących w użyciu interfejsów API platformy. Uwzględnij ten zestaw reguł, aby rozwinąć listę ostrzeżeń zgłaszanych przez minimalne zalecane reguły. |
| Reguły wytycznych dotyczących projektowania podstawowego firmy Microsoft | Te reguły koncentrują się na wymuszaniu najlepszych rozwiązań, aby kod był łatwy do zrozumienia i użycia. Uwzględnij ten zestaw reguł, jeśli projekt zawiera kod biblioteki lub chcesz wymusić najlepsze rozwiązania w celu łatwego utrzymania kodu. |
| Rozszerzone reguły poprawności firmy Microsoft | Te reguły rozszerzają podstawowe reguły poprawności, aby zmaksymalizować zgłoszone błędy użycia logiki i struktury. Dodatkowy nacisk kładzie się na konkretne scenariusze, takie jak międzyoperacyjności modelu COM i aplikacje mobilne. Rozważ uwzględnienie tego zestawu reguł, jeśli jeden z tych scenariuszy ma zastosowanie do projektu lub aby znaleźć więcej problemów w projekcie. |
| Reguły wytycznych dotyczących projektowania rozszerzonego firmy Microsoft | Te reguły rozszerzają podstawowe reguły wytycznych dotyczących projektowania, aby zmaksymalizować zgłoszone problemy z użytecznością i możliwościami konserwacji. Kładzie się szczególny nacisk na wytyczne dotyczące nazewnictwa. Rozważ uwzględnienie tego zestawu reguł, jeśli projekt zawiera kod biblioteki lub jeśli chcesz wymusić najwyższe standardy pisania kodu możliwego do utrzymania. |
| Reguły globalizacji firmy Microsoft | Te reguły koncentrują się na problemach, które uniemożliwiają poprawne wyświetlanie danych w aplikacji w przypadku użycia w różnych językach, ustawieniach regionalnych i kulturach. Uwzględnij ten zestaw reguł, jeśli aplikacja jest zlokalizowana i/lub zglobalizowana. |
| Minimalne reguły zarządzane przez firmę Microsoft | Te reguły koncentrują się na najbardziej krytycznych problemach w kodzie, dla których analiza kodu jest najbardziej dokładna. Te reguły są małe i mają być uruchamiane tylko w ograniczonych wersjach programu Visual Studio. Użyj elementu MinimumRecommendedRules.ruleset z innymi wersjami programu Visual Studio. |
| Zalecane reguły zarządzane przez firmę Microsoft | Te reguły koncentrują się na najbardziej krytycznych problemach w kodzie. Te problemy obejmują potencjalne luki w zabezpieczeniach, awarie aplikacji i inne ważne błędy w logice i projektowaniu. Zalecamy dołączenie tego zestawu reguł do dowolnego niestandardowego zestawu reguł utworzonego dla projektów. |
| Minimalne reguły microsoft Mixed (C++ /CLR) | Te reguły koncentrują się na najbardziej krytycznych problemach w projektach języka C++, które obsługują środowisko uruchomieniowe języka wspólnego. Te problemy obejmują potencjalne luki w zabezpieczeniach, awarie aplikacji i inne ważne błędy w logice i projektowaniu. Zalecamy dołączenie tego zestawu reguł do dowolnego niestandardowego zestawu reguł utworzonego dla projektów języka C++, które obsługują środowisko uruchomieniowe języka Wspólnego. |
| Zalecane reguły microsoft Mixed (C++ /CLR) | Te reguły koncentrują się na najczęstszych i krytycznych problemach w projektach języka C++, które obsługują środowisko uruchomieniowe języka wspólnego. Te problemy obejmują potencjalne luki w zabezpieczeniach, awarie aplikacji i inne ważne błędy w logice i projektowaniu. Ten zestaw reguł jest przeznaczony do użycia w wersji Visual Studio Professional i nowszej. |
| Reguły zabezpieczeń firmy Microsoft | Ten zestaw reguł zawiera wszystkie reguły zabezpieczeń firmy Microsoft. Uwzględnij ten zestaw reguł, aby zmaksymalizować liczbę zgłaszanych potencjalnych problemów z zabezpieczeniami. |
Aby uwzględnić każdą regułę:
| Zestaw reguł | opis |
|---|---|
| Wszystkie reguły firmy Microsoft | Ten zestaw reguł zawiera wszystkie reguły. Uruchomienie tego zestawu reguł może spowodować zgłaszanie dużej liczby ostrzeżeń. Użyj tego zestawu reguł, aby uzyskać kompleksowy obraz wszystkich problemów w kodzie. Może to pomóc w podjęciu decyzji, które z bardziej ukierunkowanych zestawów reguł najbardziej odpowiadają do zastosowania w projektach. |
Uruchamianie analizy kodu
Na stronie Analiza kodu okna dialogowego Właściwości projektu można skonfigurować analizę kodu do uruchamiania za każdym razem, gdy kompilujesz projekt. Możesz również ręcznie uruchomić analizę kodu.
Aby uruchomić analizę kodu w rozwiązaniu:
- W menu Kompilacja wybierz pozycję Uruchom analizę kodu w rozwiązaniu.
Aby uruchomić analizę kodu w projekcie:
W Eksplorator rozwiązań wybierz nazwę projektu.
W menu Kompilacja wybierz pozycję Uruchom analizę kodu w poluNazwa projektu.
Aby uruchomić analizę kodu w pliku:
W Eksplorator rozwiązań wybierz nazwę pliku.
W menu Kompilacja wybierz pozycję Uruchom analizę kodu w pliku lub naciśnij Ctrl+Shift+Alt+F7.
Projekt lub rozwiązanie jest kompilowane, a analiza kodu jest uruchamiana. Wyniki są wyświetlane w oknie Lista błędów.
Analizowanie i rozwiązywanie problemów z ostrzeżeniami analizy kodu
Okno Lista błędów zawiera listę znalezionych ostrzeżeń dotyczących analizy kodu. Wyniki są wyświetlane w tabeli. Jeśli więcej informacji o konkretnym ostrzeżeniu jest dostępnych, pierwsza kolumna zawiera kontrolkę rozszerzenia. Wybierz go, aby rozwinąć ekran, aby uzyskać dodatkowe informacje o problemie. Jeśli to możliwe, analiza kodu wyświetla numery wierszy i logikę analizy, która doprowadziła do ostrzeżenia.
Aby uzyskać szczegółowe informacje o ostrzeżeniu, w tym możliwe rozwiązania problemu, wybierz identyfikator ostrzeżenia w kolumnie Kod, aby wyświetlić odpowiedni artykuł pomocy online.
Kliknij dwukrotnie ostrzeżenie, aby przenieść kursor do wiersza kodu, który spowodował ostrzeżenie w edytorze kodu. Możesz też nacisnąć Enter w wybranym ostrzeżeniu.
Po zrozumieniu problemu możesz go rozwiązać w kodzie. Następnie ponownie uruchom analizę kodu, aby upewnić się, że ostrzeżenie nie jest już wyświetlane na liście błędów.
Tworzenie elementów roboczych dla ostrzeżeń analizy kodu
Funkcja śledzenia elementów roboczych umożliwia rejestrowanie usterek z poziomu programu Visual Studio. Aby użyć tej funkcji, należy połączyć się z instancją Azure DevOps Server (dawniej Team Foundation Server).
Aby utworzyć element roboczy dla jednego lub więcej ostrzeżeń dotyczących kodu C/C++
Na liście błędów rozwiń i wybierz ostrzeżenia
W menu skrótów dla ostrzeżeń wybierz pozycję Utwórz element roboczy, a następnie wybierz typ elementu roboczego.
Program Visual Studio tworzy pojedynczy element roboczy dla wybranych ostrzeżeń i wyświetla element roboczy w oknie dokumentu środowiska IDE.
Dodaj wszelkie dodatkowe informacje, a następnie wybierz pozycję Zapisz element roboczy.
Wyszukiwanie i filtrowanie wyników analizy kodu
Można przeszukiwać długie listy komunikatów ostrzegawczych i filtrować ostrzeżenia w rozwiązaniach obejmujących wiele projektów.
Aby filtrować ostrzeżenia według tytułu lub identyfikatora ostrzeżenia: wprowadź słowo kluczowe w polu wyszukiwania listy błędów.
Aby filtrować ostrzeżenia według ważności: domyślnie komunikaty analizy kodu mają przypisaną ważność Ostrzeżenie. Ważność co najmniej jednego komunikatu można przypisać jako Błąd w niestandardowym zestawie reguł. W kolumnie Stopień listy błędów Error List wybierz strzałkę listy rozwijanej, a następnie ikonę filtru. Wybierz pozycję Ostrzeżenie lub Błąd , aby wyświetlić tylko komunikaty, które mają przypisaną odpowiednią ważność. Wybierz pozycję Wybierz wszystko , aby wyświetlić wszystkie komunikaty.