Debug spyder come funziona?

cristofer.valiante (1650 points)
3 8 20
asked Oct 28, 2019 in Programmare in Python by cristofer.valiante (1,650 points)
reshown Oct 30, 2019 by cristofer.valiante
Salve! Vorrei sapere come fare debug su spyder step by step in una funzione. Grazie!
1,008 views

3 Answers

Best answer
E
Edward (25950 points)
2 4 172
answered Oct 28, 2019 by Edward (25,950 points)
selected Oct 29, 2019 by cristofer.valiante

Se vuoi farlo solo su una funzione, ti conviene mettere un breakpoint facendo doppio click sulla linea della prima istruzione dopo che definisci la funzione.

Poi ovviamente nel programma devi chiamare la funzione, oppure un'altra funzione che la chiama a sua volta.
Per far partire il debugger premi su 

Una volta partito dovrebbe automaticamente eseguire il programma fino al breakpoint, e dovresti vedere le variabili locali nel variable explorer.

Per fare andare il codice linea per linea puoi fare click su 

Oppure se vuoi farlo andare fino al prossimo breakpoint (se ce n'è solo uno, allora eseguirà il codice fino a quando non rientra dentro quella funzione), puoi fare click su 

Se viene chiamata una funzione mentre scorri le istruzioni line by line, e vuoi entrare dentro la funzione devi usare il tasto 

Oppure se vuoi eseguire una funzione fino al suo return, puoi usare il tasto 

Per fermare il debugger puoi usare il tasto stop 

Inoltre se esegui un programma, ed ottieni un qualsiasi errore, per vedere lo stato delle variabili prima che il programma venisse interrotto, puoi usare il comando %debug​ nella console iPython

d
dani3390 (1490 points)
2 2 10
answered Oct 29, 2019 by dani3390 (1,490 points)

La risposta di Edward è letteralmente perfetta, ed a questo punto ritengo sia doveroso concedergli la Best Answer con un semplice click -> 

Può sembrar cosa da poco, ma alla lunga può fare la differenza nei punti che saranno assegnati dal professore a fine corso (non basta semplicemente mettere Like ad ogni singolo commento ed acquisire punti)

Christian (15220 points)
2 4 77
commented Oct 29, 2019 by Christian (15,220 points)
Condivido al 100%! Più dettagliata di così non si poteva. Sarà utile a molti.. grazie Edward!
AlessandraIzzo (6010 points)
6 6 30
answered Oct 29, 2019 by AlessandraIzzo (6,010 points)
Ciao, aggiungo soltanto che può esserti utile andare a 1 ora e 12-13 minuti della lezione 16. Lì il prof mostra come usare il debugger

EDIT: mi dimentico sempre che qui non ci sono solo i ragazzi della teledidattica, pardon! Ovviamente il consiglio è solo per chi è in teledidattica