2014-06-07 3 views
6

Sto usando PyCharm (versione di comunità) per il mio IDE Python. Voglio che il programma esegua il debug in modo line-by-line. Quindi non voglio impostare ogni linea come punto di rottura ... C'è un modo per farlo?PyCharm: debug linea per linea?

+5

Puoi farlo. [Vedi i tasti di scelta rapida di debug di Pycharm] (http://www.jetbrains.com/pycharm/webhelp/stepping-through-the-program.html). Puoi 'passare sopra' funzioni,' entrare in', ecc. – CoryKramer

risposta

7

Come citato da @Cyber, lo debugging hotkeys consente di scorrere linea per linea, scendere in chiamate di funzione, ecc., Una volta raggiunto un punto di interruzione e fermato da qualche parte.

Se si desidera realmente passare attraverso ciascuna riga, è possibile impostare un punto di interruzione da qualche parte all'inizio del codice. Se stai usando una funzione main() nel codice, ad es .:

def main(): 
    ....  

if __name__ == '__main__': 
    main()     # Breakpoint here, 'Step Inside' to go to next line 

allora si potrebbe impostare il punto di interruzione alla chiamata a main(). (Se non lo sei, potresti provare questo approccio.)

Un'altra cosa che vorrei sottolineare è la funzionalità facile da trascurare di PyCharm dei punti di interruzione condizionali . Se si fa clic con il pulsante destro del mouse sul simbolo del punto di interruzione nell'area di rilegatura dell'editor, è possibile digitare una condizione, ad esempio n > 10; il punto di interruzione si attiva solo quando viene eseguita tale riga e viene soddisfatta la condizione. Quando si tenta di eseguire il debug dei problemi di codice all'interno di una funzione ricorsiva, ad esempio, ciò può semplificare molto le cose.

So che l'ultima parte non è proprio quello che stavi chiedendo, ma man mano che la tua base di codice diventa più grande, passare attraverso ogni riga può richiedere molto tempo. Probabilmente vorrai concentrarti maggiormente su cose come test di unità e registrazione con progetti più grandi.