Programmazione Dart - Debug

Di tanto in tanto, gli sviluppatori commettono errori durante la codifica. Un errore in un programma viene definito bug. Il processo di ricerca e correzione dei bug è chiamato debugging ed è una parte normale del processo di sviluppo. Questa sezione copre gli strumenti e le tecniche che possono aiutarti con le attività di debug.

L'editor WebStorm abilita i punti di interruzione e il debug passo passo. Il programma si interromperà nel punto in cui è collegato il punto di interruzione. Questa funzionalità è simile a ciò che ci si potrebbe aspettare dallo sviluppo di applicazioni Java o C #. È possibile osservare le variabili, sfogliare lo stack, passare e passare alle chiamate di metodi e funzioni, tutto dall'editor WebStorm.

Aggiunta di un punto di interruzione

Considera il seguente frammento di codice. (TestString.dart)

void main() { 
   int a = 10, b = 20, c = 5; 
   c = c * c * c; 
   
   print("$a + $b = ${a+b}"); 
   print("$a%$b = ${a%b}");  // Add a break point here 
   print("$a*$b = ${a*b}"); 
   print("$a/$b = ${a/b}"); 
   print(c); 
}

Per add a breakpoint, fare clic sul margine sinistro per. Nella figura riportata di seguito, la riga numero 7 ha un punto di interruzione.

Run the program in debug mode. Nell'esploratore del progetto fare clic con il tasto destro sul programma dart nel nostro caso TestString.dart.

Una volta che il programma viene eseguito in modalità di debug, verrà visualizzata la finestra Debugger come mostrato nello screenshot seguente. La scheda Variabili mostra i valori delle variabili nel contesto corrente. Puoi aggiungere watcher per variabili specifiche e ascoltare le modifiche ai valori utilizzando la finestra di watch.

Step IntoL'icona della freccia (F7) nel menu di debug aiuta a eseguire il codice un'istruzione alla volta. Se i metodi principali chiamano una subroutine, anche questa andrà nel codice della subroutine.

Step over (F8): è simile a Step Into. La differenza di utilizzo si verifica quando l'istruzione corrente contiene una chiamata a una subroutine. Se il metodo principale chiama una subroutine, step over non approfondirà la subroutine. salterà la subroutine.

Step Out(Shift + F8): esegue le restanti righe di una funzione in cui si trova il punto di esecuzione corrente. L'istruzione successiva visualizzata è l'istruzione che segue la chiamata alla subroutine.

Dopo l'esecuzione in modalità debug, il programma fornisce quanto segue output -

10 + 20 = 30 
10 % 20 = 10 
10 * 20 = 200 
10 / 20 = 0.5 
125