Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Im Fenster "Problemdetails " werden strukturierte Diagnosen angezeigt, die vom MSVC-Compiler oder der Microsoft C++-Codeanalyse ausgegeben werden.
Wählen Sie Einträge im Fenster "Fehlerliste" aus, in dem ein Symbol in der Spalte "Details" angezeigt wird, um das Fenster "Problemdetails" zu öffnen. Das Fenster "Problemdetails " zeigt die strukturierte Diagnose für den ausgewählten Eintrag an.
Screenshot der Visual Studio-Fehlerliste. Es zeigt eine Tabelle mit einer einzelnen Zeile. Die Zeile stellt einen Compilerfehler dar und enthält den Fehlercode C2665, die Beschreibung "Pet: No overloaded function could convert all the argument types", and an icon of a square with the corner magnified in the column named Details. Dieses Symbol ist hervorgehoben.
Zwei Szenarien erzeugen diese Diagnose:
- C++-Kompilierungen mit MSBuild und dem MSVC-Compiler können strukturierte Diagnosen ausgeben.
- Codeanalysewarnungen, die Key Event-Daten unterstützen, geben strukturierte Diagnosen aus.
Öffnen Sie das Fenster "Problemdetails ", indem Sie eine der folgenden Aktionen ausführen:
- Während der Eintrag hervorgehoben ist, doppelklicken Sie darauf, oder drücken Sie die EINGABETASTE. Deaktivieren Sie dieses Verhalten mit tools>Options>Text Editor>C/C++>Advanced>Show Problem Details on Double Click.
- Wählen Sie das Symbol in der Spalte "Details" aus.
- Öffnen Sie das Kontextmenü für den Eintrag, und wählen Sie die Option " Problemdetails öffnen " aus.
Standardmäßig wird das Fenster "Problemdetails " an derselben Stelle wie das Fenster "Fehlerliste " geöffnet. Ändern Sie den Speicherort, an dem das Fenster "Problemdetails " geöffnet wird, indem Sie es an die gewünschte Position verschieben.
Im Fenster "Problemdetails " werden strukturierte Informationen angezeigt, die möglicherweise geschachtelt sind. Wenn das Fenster geöffnet wird, beginnen alle Einträge, die geschachtelte untergeordnete Elemente enthalten, reduziert.
Screenshot des Visual Studio-Fensters "Problemdetails". Es gibt eine Kopfzeile mit demselben Fehlercode und derselben Beschreibung wie der Eintrag "Fehlerliste" aus der vorhin. Es gibt auch einen auswählbaren Link mit dem Text cppcon-diag.cpp (Zeile 23). Unterhalb dieser Kopfzeile gibt es Einträge, die erklären, dass die potenziellen Überladungen void pet(cat), void pet(dog) oder void pet(_T0) sind. Der letzte Eintrag gibt "beim Versuch, mit der Argumentliste (Lizard) übereinzugleichen". Rechts neben jeder Zeile befindet sich grauer Text, der die Datei- und Zeilennummern für jeden Eintrag anzeigt. Alle gehören zu cppcon-diag.cpp und die Zeilennummern sind 7, 6, 18 und 23. Links neben den ersten drei Einträgen befinden sich kleine hohle Pfeile, die nach rechts zeigen, dass diese Einträge erweitert werden können, aber derzeit nicht.
Erweitern Sie einen Eintrag, um seine untergeordneten Elemente anzuzeigen, indem Sie entweder den Pfeil auf der linken Seite eines Eintrags auswählen oder nach rechts drücken, wobei der Eintrag hervorgehoben ist.
Screenshot des Visual Studio-Fensters "Problemdetails". Die Inhalte sind größtenteils identisch mit dem vorherigen Screenshot, einige der Einträge werden jedoch erweitert, sodass ihre untergeordneten Einträge sichtbar sind. Der erste Eintrag wird erweitert. Es gibt einen geschachtelten Eintrag mit dem Text "void pet(cat) cannot convert argument 1 from lizard to cat." Dieser Eintrag wird eingerückt und kann erweitert werden. Die zweite Zeile von vor wird erweitert und zeigt einen unerklärten Eintrag mit dem Wert "Void pet(dog) kann Argument 1 nicht von Lizard in Hund konvertieren." Der dritte Eintrag wird erweitert und zeigt einen Eintrag mit dem Lesen "die zugehörigen Einschränkungen sind nicht erfüllt". Dieser Eintrag hat einen erweiterten untergeordneten Lesevorgang "das Konzept pettable lizard ausgewertet auf falsch" gelesen. Dieser Eintrag hat zwei untergeordnete Elemente. Die erste ist unerklärt und liest "das Konzept has_member_pet Lizard auf "false" ausgewertet. Die zweite wird erweitert und liest "das Konzept has_default_pet Lizard auf "false" ausgewertet. Dieses zweite Kind hat zwei Kinder, von denen keiner erweitert werden kann. Sie lesen "is_pettable ist kein Mitglied von Lizard" und "siehe Erklärung der Eidechsen".
Aktivieren oder deaktivieren Sie die strukturierte Diagnosemit der >>>Aktivieren von MSVC Structured Output". Sie können sich auf mehrere Projekte auswirken, indem Sie eine Datei "Directory.Build.props" mit der UseStructuredOutput-Eigenschaft erstellen, die auf "true" oder "false" definiert ist.