Creare una mappa visiva dello stack di chiamate durante il debug (C#, Visual Basic, C++, JavaScript)
Creare una mappa del codice per tracciare visivamente lo stack di chiamate durante il debug. È possibile inserire note sulla mappa per tenere traccia del codice e concentrarsi sull'individuazione dei bug.
Per informazioni dettagliate sui comandi e sulle azioni che è possibile usare con le mappe codici, vedere Esplorare e ridisporre le mappe del codice.
Importante
È possibile creare mappe codice solo in Visual Studio Enterprise Edition.
Di seguito è riportato un rapido sguardo a una mappa codici:
Eseguire il mapping dello stack di chiamate
In un progetto Visual Studio Enterprise C#, Visual Basic, C++o JavaScript avviare il debug selezionando Avvia>debug o premendo F5.
Dopo che l'app passa alla modalità di interruzione o si passa a una funzione, selezionare Esegui debug>mappa codice o premere CTRL+MAIUSC.+`
Lo stack di chiamate corrente verrà visualizzato in arancione in una nuova mappa codici:
La mappa del codice viene aggiornata automaticamente man mano che si continua il debug. La modifica degli elementi o del layout della mappa non influisce sul codice in alcun modo. È possibile rinominare, spostare o rimuovere qualsiasi elemento nella mappa.
Per ottenere altre informazioni su un elemento, passare il puntatore del mouse su di esso e osservare la descrizione comando dell'elemento. È anche possibile selezionare Legenda sulla barra degli strumenti per scoprire cosa significa ogni icona.
Nota
Messaggio Il diagramma può essere basato su una versione precedente del codice nella parte superiore della mappa del codice indica che il codice potrebbe essere stato modificato dopo l'ultimo aggiornamento della mappa. Ad esempio, nel codice potrebbe non essere più disponibile una chiamata alla mappa. Chiudere il messaggio, quindi provare a ricompilare la soluzione prima di aggiornare di nuovo la mappa.
Eseguire il mapping del codice esterno
Per impostazione predefinita, nella mappa viene visualizzato solo il proprio codice. Per visualizzare il codice esterno sulla mappa:
Fare clic con il pulsante destro del mouse nella finestra Stack di chiamate e scegliere Mostra codice esterno:
In alternativa, deselezionare Abilita Just My Code in Visual Studio Tools (o Debug)> Opzioni>debug:
Controllare il layout della mappa
La modifica del layout della mappa non influisce sul codice in alcun modo.
Per controllare il layout della mappa, selezionare il menu Layout sulla barra degli strumenti della mappa.
Nel menu Layout è possibile:
- Modificare il layout predefinito.
- Interrompere la ridisposizione automatica della mappa deselezionando Layout automatico durante il debug.
- Ridisporre la mappa il minor possibile quando si aggiungono elementi deselezionando Il layout incrementale.
Prendere note sul codice
È possibile aggiungere commenti per tenere traccia di ciò che accade nel codice.
Per aggiungere un commento, fare clic con il pulsante destro del mouse sulla mappa codice e scegliere Modifica>nuovo commento, quindi digitare il commento.
Per aggiungere una nuova riga in un commento, premere MAIUSC+INVIO.
Aggiornare la mappa con lo stack di chiamate successivo
Quando si esegue l'app al punto di interruzione successivo o si esegue un passaggio in una funzione, la mappa aggiunge automaticamente nuovi stack di chiamate.
Per impedire alla mappa di aggiungere automaticamente nuovi stack di chiamate, selezionare sulla barra degli strumenti della mappa del codice. La mappa continua a evidenziare gli stack di chiamate esistenti. Per aggiungere manualmente lo stack di chiamate corrente alla mappa, premere CTRL+MAIUSC+`.
Aggiungere codice correlato alla mappa
Dopo aver creato una mappa, in C# o Visual Basic, è possibile aggiungere elementi come campi, proprietà e altri metodi per tenere traccia di ciò che accade nel codice.
Per passare alla definizione di un metodo nel codice, fare doppio clic sul metodo nella mappa oppure selezionarlo e premere F12 oppure fare clic con il pulsante destro del mouse su di esso e scegliere Vai a definizione.
Per aggiungere elementi da tenere traccia della mappa, fare clic con il pulsante destro del mouse su un metodo e selezionare gli elementi da tenere traccia. Gli elementi aggiunti più di recente vengono visualizzati in verde.
Nota
Per impostazione predefinita, quando si aggiungono gli elementi alla mappa si aggiungono anche i nodi di gruppo padre, ad esempio la classe, spazio dei nomi e l'assembly. È possibile disattivare questa funzionalità e attivare selezionando il pulsante Includi genitori sulla barra degli strumenti della mappa del codice oppure premendo CTRL mentre si aggiungono elementi.
Continuare a compilare la mappa per visualizzare altro codice.
Trovare bug usando la mappa
Visualizzando il codice, sarà possibile rilevare i bug più rapidamente. Si supponga, ad esempio, di analizzare un bug in un'app di disegno. Quando si disegna una linea e si tenta di annullare l'operazione, non accadrà nulla finché non si disegnerà un'altra riga.
Pertanto, impostare punti di interruzione nei metodi clear
, undo
e Repaint
, avviare il debug e compilare una mappa come quella indicata di seguito:
Tutte le azioni dell'utente nella mappa chiamano Repaint
, tranne undo
. Ciò potrebbe spiegare per quale motivo undo
non funziona nell'immediato.
Dopo aver corretto il bug e aver continuato a eseguire l'app, la mappa aggiunge la nuova chiamata da undo
a Repaint
:
Condividere la mappa con altri utenti
È possibile esportare una mappa, inviarla ad altri utenti con Microsoft Outlook, salvarla nella soluzione e archiviarla nel controllo della versione.
Per condividere o salvare la mappa, usare Condividi nella barra degli strumenti della mappa del codice.