2015-03-03 18 views
5

Sto usando un debugger grafico Python interattivo con ipdb sotto il cofano (debugger grafico di Canopy). Lo script su cui sto lavorando ha più moduli importati e diverse chiamate alle rispettive funzioni. Ogni volta che provo a eseguire il debug, l'esecuzione si blocca da qualche parte all'interno di una chiamata alla funzione di un modulo importato (in particolare il sottoprocesso). Le mie due domande principali sono:Debug Python con Pdb

1) L'esecuzione in modalità di debug rallenta notevolmente? Il codice non è effettivamente bloccato, ma sta girando ad un ritmo dolorosamente lento?

2) Esiste un modo per passare completamente i bit di codice ed eseguirli come se non fossi nemmeno il debug? Voglio impedire al debugger di entrare in sottoprocesso e semplicemente eseguirlo come se fosse una corsa normale.

Potrei lanciare il debugger grafico e fare tutto da un terminale, ma vorrei evitarlo se posso perché l'interfaccia grafica è molto comoda e consente di risparmiare un sacco di digitazione.

+0

Le vostre esigenze sembra un po 'in contraddizione - l'esecuzione di codice Python in un debugger, ma impedendo al debugger di entrare nei sottoprocessi. Suggerimento: per imparare, se il debugger rallenta troppo (non me lo aspetto), prova a farlo funzionare dal terminale e vedrai. –

risposta

1
import pdb 
a = "aaa" 
pdb.set_trace() 
b = "bbb" 
c = "ccc" 
final = a + b + c 
print final 

L'output quando si esegue il codice allora sarà avviare il debug e il controllo si ferma dopo a="aaa"

$ python abc.py 
(Pdb) p a 
'aaa' 
(Pdb) 

Grazie, Shashi

Problemi correlati