Delineare la soluzione per la sfida relativa al debugger di codice

Completato

L'esempio seguente di un processo di debug è una possibile soluzione per la sfida dell'unità precedente.

Implementare gli strumenti del debugger C# per identificare il problema

Il processo di debug seguente implementa un punto di interruzione e quindi monitora il valore di x nella sezione VARIABLES della visualizzazione RUN AND DEBUG.

  1. Impostare un punto di interruzione nella riga di codice seguente:

    int x = 5;
    
  2. Aprire la visualizzazione RUN AND DEBUG.

  3. Nella parte superiore della visualizzazione Esegui e Debug, selezionare Avvia Debugging.

  4. Nella sezione VARIABLES della visualizzazione Esegui e debug prendere nota del valore assegnato a x.

  5. Sulla barra degli strumenti Controlli Debug, selezionare Entra.

  6. Tenere traccia del valore assegnato a x durante l'esecuzione di ogni riga di codice.

  7. Si noti che il valore di x non cambia man mano che l'esecuzione entra ed esce dal ChangeValue metodo .

    Il ChangeValue metodo viene passato al valore di x, anziché a un riferimento a x, pertanto la modifica a value all'interno del metodo non influisce sulla variabile xoriginale .

Prendere in considerazione un aggiornamento del codice in base ai risultati del debug

Se si vuole che il ChangeValue metodo modifichi il valore nel codice chiamante, è necessario aggiornare il codice. Un modo per ottenere il risultato previsto consiste nell'aggiornare il ChangeValue metodo per restituire un valore intero e aggiornare il codice che chiama ChangeValue in modo che assegni il valore restituito a x.

Per esempio:

int x = 5;
x = ChangeValue(x);
Console.WriteLine(x);

int ChangeValue(int value) 
{
    value = 10;
    return value;
}

Se hai avuto successo in questa sfida, congratulazioni! È possibile continuare al test di conoscenza nell'unità successiva.

Importante

Se si verificano problemi durante il completamento di questa sfida, è consigliabile esaminare le unità precedenti prima di continuare.