Okno Szczegóły problemu

W oknie Szczegóły problemu jest wyświetlana ustrukturyzowana diagnostyka wydana przez kompilator MSVC lub analizę kodu dla języka C/C++.

Wybierz wpisy w oknie Lista błędów, które pokazują ikonę w kolumnie Szczegóły, aby otworzyć okno Szczegóły problemu. W oknie Szczegóły problemu jest wyświetlana ustrukturyzowana diagnostyka wybranego wpisu.

Screenshot of the Visual Studio Error List with one entry that has an icon in its details column.

Zrzut ekranu przedstawiający listę błędów programu Visual Studio. Przedstawia tabelę z pojedynczym wierszem. Wiersz reprezentuje błąd kompilatora i zawiera kod błędu C2665, opis "pet: brak przeciążonej funkcji może przekonwertować wszystkie typy argumentów", a ikona kwadratu z rogiem powiększonym w kolumnie o nazwie Details. Ta ikona jest wyróżniona.

Dwa scenariusze generują następujące dane diagnostyczne:

  • Kompilacje języka C++ przy użyciu programu MSBuild i kompilatora MSVC mogą emitować diagnostykę ustrukturyzowaną.
  • Ostrzeżenia analizy kodu obsługujące dane zdarzenia klucza emitują diagnostykę ze strukturą.

Otwórz okno Szczegóły problemu, wykonując jedną z następujących czynności:

  • Gdy wpis jest wyróżniony, kliknij go dwukrotnie lub naciśnij klawisz Enter. Wyłącz to zachowanie za pomocą opcji narzędzia>Edytor>>tekstu C/C++>Advanced>Show Szczegóły problemu po dwukrotnym kliknięciu.
  • Wybierz ikonę w kolumnie Szczegóły .
  • Otwórz menu skrótów dla wpisu i wybierz opcję Otwórz szczegóły problemu.

Domyślnie okno Szczegóły problemu zostanie otwarte w tej samej lokalizacji co okno Lista błędów. Zmień miejsce otwarcia okna Szczegóły problemu, przenosząc go do żądanej pozycji.

W oknie Szczegóły problemu są wyświetlane informacje ustrukturyzowane, które mogą być zagnieżdżone. Po otwarciu okna wszystkie wpisy, które mają zagnieżdżone elementy podrzędne, zaczynają się zwijać.

Screenshot of the Visual Studio Problem Details window with all children collapsed.

Zrzut ekranu przedstawiający okno Szczegóły problemu programu Visual Studio. Istnieje nagłówek przedstawiający ten sam kod błędu i opis co wpis Lista błędów sprzed. Istnieje również link do wyboru z tekstem cppcon-diag.cpp (wiersz 23). Poniżej tego nagłówka znajdują się wpisy wyjaśniające, że potencjalne przeciążenia są void pet(cat), void pet(dog) lub void pet(_T0). Końcowy wpis stwierdza "podczas próby dopasowania listy argumentów (jaszczurka)." Po prawej stronie każdego wiersza jest szary tekst przedstawiający plik i numery wierszy dla każdego wpisu. Wszystkie należą do cppcon-diag.cpp, a liczby wierszy to odpowiednio 7, 6, 18 i 23. Po lewej stronie pierwszych trzech wpisów znajdują się małe puste strzałki wskazujące w prawo, które oznaczają, że te wpisy można rozszerzyć, ale obecnie nie są.

Rozwiń wpis, aby wyświetlić jego elementy podrzędne, wybierając strzałkę po lewej stronie wpisu lub naciskając klawisz Right z wyróżnionym wpisem.

Screenshot of the Visual Studio Problem Details window with some children expanded.

Zrzut ekranu przedstawiający okno Szczegóły problemu programu Visual Studio. Zawartość jest w większości taka sama jak na poprzednim zrzucie ekranu, jednak niektóre wpisy są rozwinięte, więc ich wpisy podrzędne są widoczne. Pierwszy wpis jest rozwinięty. Istnieje wpis zagnieżdżony z tekstem "void pet(cat) nie może przekonwertować argumentu 1 z jaszczurki na kota." Ten wpis jest wcięcie i można go rozwinąć. Druga linia z wcześniejszej jest rozwinięta, ujawniając nierozciągnięty wpis "void pet(dog) nie może przekonwertować argumentu 1 z jaszczurki na psa." Trzeci wpis jest rozszerzony, ujawniając wpis "skojarzone ograniczenia nie są spełnione". Ten wpis ma rozszerzone czytanie dziecka "koncepcja pettable jaszczurka oceniane na fałsz." Ten wpis ma dwoje dzieci. Pierwszy jest rozpiętywany i brzmi "koncepcja has_member_pet jaszczurka oceniana na fałsz". Drugi jest rozszerzany i odczytuje "koncepcja has_default_pet jaszczurka oceniana jako fałsz". Drugie dziecko ma dwoje dzieci, z których żadna nie jest rozszerzalna. Czytają "is_pettable nie jest członkiem jaszczurki" i "widzą deklarację jaszczurki".

Włącz lub wyłącz diagnostykę ustrukturyzowaną za pomocą opcji Zaawansowane>właściwości>projektu>Włącz dane wyjściowe ze strukturą MSVC. Możesz wpłynąć na kilka projektów, tworząc plik Directory.Build.props z właściwością UseStructuredOutput zdefiniowaną na wartość true lub false.