Finestra Dettagli problema

La finestra Dettagli problema mostra la diagnostica strutturata rilasciata dal compilatore MSVC o dall'analisi del codice per C/C++.

Selezionare le voci nella finestra Elenco errori che mostrano un'icona nella colonna Dettagli per aprire la finestra Dettagli problema. La finestra Dettagli problema mostra la diagnostica strutturata per la voce selezionata.

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

Screenshot dell'elenco errori di Visual Studio. Mostra una tabella con una singola riga. La riga rappresenta un errore del compilatore e contiene il codice di errore C2665, la descrizione "pet: nessuna funzione di overload potrebbe convertire tutti i tipi di argomento" e un'icona di un quadrato con l'angolo ingrandito nella colonna denominata Details. Questa icona è evidenziata.

Due scenari producono questi scenari di diagnostica:

  • Le compilazioni C++ che usano MSBuild e il compilatore MSVC possono generare diagnostica strutturata.
  • Gli avvisi di analisi del codice che supportano i dati dell'evento chiave generano diagnostica strutturata.

Aprire la finestra Dettagli problema eseguendo una delle operazioni seguenti:

  • Mentre la voce è evidenziata, fare doppio clic o premere INVIO. Disabilitare questo comportamento con Strumenti>Opzioni>Editor>di testo C/C++>Avanzate>Mostra dettagli problema su doppio clic.
  • Selezionare l'icona nella colonna Dettagli .
  • Aprire il menu di scelta rapida per la voce e selezionare l'opzione Apri dettagli problema.

Per impostazione predefinita, la finestra Dettagli problema viene visualizzata nella stessa posizione della finestra Elenco errori . Modificare la posizione in cui viene visualizzata la finestra Dettagli problema spostandola nella posizione desiderata.

Nella finestra Dettagli problema vengono visualizzate informazioni strutturate che possono essere annidate. Quando si apre la finestra, tutte le voci con elementi figlio annidati iniziano a essere compresse.

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

Screenshot della finestra Dettagli problema di Visual Studio. È presente un'intestazione che mostra lo stesso codice di errore e la descrizione della voce Elenco errori da prima. È disponibile anche un collegamento selezionabile con il testo cppcon-diag.cpp (riga 23). Sotto questa intestazione ci sono voci che spiegano che i potenziali overload sono void pet(cat), void pet(dog) o void pet(_T0). La voce finale indica "durante il tentativo di trovare la corrispondenza con l'elenco di argomenti (lucertola)." A destra di ogni riga è presente un testo grigio che mostra i numeri di file e di riga per ogni voce. Tutti appartengono a cppcon-diag.cpp e i numeri di riga sono rispettivamente 7, 6, 18 e 23. A sinistra delle prime tre voci sono piccole frecce vuote che indicano che queste voci possono essere espanse, ma non sono attualmente.

Espandere una voce per visualizzare i relativi elementi figlio selezionando la freccia sul lato sinistro di una voce oppure premendo a destra con la voce evidenziata.

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

Screenshot della finestra Dettagli problema di Visual Studio. Il contenuto è principalmente lo stesso dello screenshot precedente, tuttavia alcune delle voci vengono espanse in modo che le voci figlio siano visibili. La prima voce viene espansa. Esiste una voce nidificata con il testo "void pet(cat) cannot convert argument 1 from lizard to cat". Questa voce è rientrata e può essere espansa. La seconda riga da prima viene espansa, rivelando una voce non espansa che legge "void pet(dog) non può convertire l'argomento 1 dalla lucertola al cane". La terza voce viene espansa, rivelando una voce che indica che i vincoli associati non sono soddisfatti. Questa voce ha un figlio espanso che legge "il concetto di lucertola pettable valutato su false". Questa voce ha due elementi figlio. Il primo è non espanso e legge "il concetto has_member_pet lucertola ha valutato false". Il secondo viene espanso e legge "il concetto has_default_pet lucertola valutata su false". Questo secondo figlio ha due figli, nessuno dei quali è espandibile. Leggono "is_pettable non è un membro della lucertola" e "vedere la dichiarazione di lucertola".

Abilitare o disabilitare la diagnostica strutturata con l'opzione Project>Properties>Advanced>Enable MSVC Structured Output (Abilita output strutturato MSVC). È possibile influire su diversi progetti creando un file Directory.Build.props con la proprietà UseStructuredOutput definita su true o false.