Esegui il debug, la profilatura e la diagnosi del codice | Visual Studio2023-05-15T12:52:27-07:00

Trova rapidamente i bug

Specificare, diagnosticare e profilare con facilità

Debug in più linguaggi

Debug avanzato per tutto il tuo codice

Visualizza subito informazioni sulle variabili nell’editor durante il debug. Usa i suggerimenti sui dati per visualizzare il nome e il valore corrente di una variabile per espandere un oggetto e visualizzarne gli elementi e per modificare il valore di una variabile.

Qualsiasi piattaforma o posizione

In modalità locale, remota e in produzione

Ovunque sia in esecuzione il tuo codice, Visual Studio può eseguirne il debug, dall’avvio di un’app Windows locale sul desktop o nell’emulatore Android al collegamento di un’istanza remota di Azure, un dispositivo iOS o una console per videogiochi oppure in qualsiasi Web browser.

Puoi eseguire il debug dei problemi offline nell’ambiente di produzione usando capacità quali IntelliTrace e l’analisi approfondita dei file dump.

screenshot della finestra di debug

Controllo con granularità fine

Decidi esattamente dove e quando vuoi interrompere e sospendere l'esecuzione dell'applicazione

Usa i punti di interruzione per sospendere il programma in esecuzione nel punto in cui sospetti che sia presente un bug. Se vuoi spingerti oltre, usa punti di interruzione avanzati con condizioni e azioni per valutare scenari più complessi oppure usa punti di interruzione dipendenti per eseguire facilmente il debug dei percorsi comuni nel codice dell’applicazione.

Passare alla modalità di debug in una riga specifica è molto più semplice se usi l’esecuzione fino al cursore o l’avanzamento rapido del debug senza perdere i punti di interruzione con Forza Esegui fino al cursore.

Ispezione flessibile dello stato

È la stessa immagine solo nel tema scuro

Dopo avere sospeso l’applicazione in un punto specifico, Visual Studio ti offre molti modi per ispezionare il valore delle variabili, per definire o verificare un’ipotesi.

Puoi monitorare un valore durante la verifica del codice, visualizzare rapidamente le variabili locali e valutare espressioni complesse, il tutto senza uscire dal debugger. Puoi persino eseguire query approfondite in modo interattivo in una struttura dei dati.

Ricevi avvisi se si verificano problemi

I difetti del codice e le situazioni impreviste si manifestano sotto forma di eccezioni, Le eccezioni provocano l’arresto anomalo dell’app o diventano semplicemente bug difficili da individuare.

Durante il debug con Visual Studio puoi configurare notifiche quando vengono generate eccezioni e anche scegliere eccezioni specifiche su cui vuoi concentrarti. Ricevi immediatamente avvisi con informazioni sulle eccezioni interne e analisi dei riferimenti Null direttamente da qui, con la stessa facilità del raggiungimento di un punto di interruzione.

Build rich cross-platform native apps

Semplifica il controllo e l’ispezione di codice multithread complesso

Come noto, il debug di codice multithread è un’operazione complessa. Visual Studio ti consente di controllare l’esecuzione di più thread contemporaneamente e di ispezionare lo stato in molti thread per ottenere un quadro generale.

Visualizza tutti gli stack di chiamate dei thread in una singola visualizzazione grafica e valuta le espressioni in più thread per confrontare i valori. Visualizza con facilità le informazioni su thread e attività, contrassegnale e bloccale. Passa rapidamente da un contesto di esecuzione all’altro e usa marcatori dei thread per individuare le righe di codice eseguite dai thread in qualsiasi momento.

Access everything you need in one place

Tutti gli approfondimenti necessari per il codice

A volte, in particolare per codice C++ a livello di sistema, devi avvicinarti al livello hardware per la diagnosi di bug difficili da individuare. Visual Studio supporta questo tipo di procedura con Memoria, Registri e la finestra Disassembly.

Build rich cross-platform native apps

Sviluppa app veloci e solide

Ottieni informazioni utili per prendere decisioni ottimali per le prestazioni durante la scrittura di codice. Usa PerfTips nell’editor e strumenti di diagnostica per comprendere le caratteristiche relative a prestazioni e memoria del codice durante il debug.

Usa strumenti di profilatura completi senza il debugger per ottenere informazioni dettagliate più approfondite sulle prestazioni dell’app, incluse informazioni sull’utilizzo di CPU, GPU e memoria, la velocità di risposta dell’interfaccia utente e l’utilizzo della rete.

Build rich cross-platform native apps

Uno strumento per tutte le tue esigenze

Se devi analizzare l’utilizzo della CPU o tenere traccia delle allocazioni di memoria indesiderate con lo strumento di allocazione .NET, il Profiler prestazioni include uno strumento per facilitare l’analisi delle prestazioni.

Comprehensive performance toolkit

Visualizzazioni che consentono di individuare i problemi di prestazioni

Il Profiler prestazioni include visualizzazioni, quali il grafico della fiamma nello strumento Utilizzo CPU, per tenere traccia dei percorsi del codice che occupano la maggior parte del tempo della CPU. Dopo aver individuato una funzione che ti interessa nello stack di chiamate, puoi passare direttamente al codice sorgente per migliorare le prestazioni.

Visualize expensive code paths

Dati analitici sulle prestazioni a colpo d’occhio

Usa lo strumento Utilizzo CPU per ottenere rapidamente dati analitici nella pagina di riepilogo. La funzione principale, ovvero i percorsi critici, viene evidenziata automaticamente per consentirti di individuare direttamente la causa dei problemi di prestazioni.

Summarized performance insights

Mai più “no repro“

Cronologia dell'esecuzione per il codice .NET

Quando modifichi e scegli F5 per testare il codice .NET, puoi incontrare un comportamento imprevisto, un bug. La diagnosi del bug può richiedere a volte ore di ricerche nel codice sorgente per individuare le parti di codice rilevanti e tentare di indovinare la posizione corretta per un punto di interruzione.

Gli strumenti di diagnostica di Visual Studio e IntelliTrace ti consentono di visualizzare la cronologia dell’esecuzione del codice e tornare indietro per ispezionare lo stato senza punti di interruzione.

Feedback