Come usare PDB, il debugger di Python

Come usare PDB, il debugger di Python
“Un debugger, nella sua forma più semplice, è uno strumento che consente agli utenti di caricare il programma in un momento specifico e analizzare gli attributi, lo stack di chiamate e qualsiasi altra cosa vogliono osservare, creare configurazioni implicite e procedere attraverso la linea del programma originale di linea. Se gli utenti utilizzano Python, si può eseguire il codice compilato nel prompt dei comandi, esaminare il codice durante il debug e talvolta migliorare l'efficacia alterando i valori dei parametri.

Il pacchetto PDB di Python semplifica il debug. È un debugger integrato associato alla biblioteca standard Python. È esplicitamente notato come PDB di classe che utilizza i pacchetti CMD (supporto per processori di comando orientati alla linea) e BDB (operazioni di debugger di base) in modo efficace. Ogni volta che non abbiamo accesso a un debugger grafico basato sull'interfaccia utente, il principale vantaggio dell'utilizzo del PDB è che esegue solo sulla riga di comando e può anche essere utilizzato per il debug dei programmi sui cloud computer.

Creazione di punti di interruzione, passo sullo script, presentando i file di configurazione, nonché osservare le tracce dello stack sono tutte caratteristiche che PDB fornisce.

Dobbiamo solo inserire le dichiarazioni PDB e Set_Trace () integrate per iniziare a debug del codice. Eseguire il programma normalmente e il punto di interruzione che abbiamo specificato può far fine all'esecuzione. Pertanto, è estremamente difficile impostare un punto di interruzione sul blocco prima dell'esecuzione della funzione set trace (). Breakpoint (), un metodo integrato in Python 3.7 e versioni successive, esegue funzionalità simili.

Questo post esaminerà come utilizzare il debugger Python o il PDB."

Esempio n. 1

In questo esempio, aggiungeremo due numeri insieme. Il codice aggiunge le stringhe restituite dalla funzione input () anziché aggiungere i valori immessi.

importare pdb
def aggiunge (x, y):
Ans = x + y
restituire Ans
PDB.set_trace ()
l = input ("Immettere il 1st valore : ")
m = input ("Immettere il 2nd valore : ")
S = aggiunta (L, M)
stampare (i)

Incorporeremo il file di intestazione PDB all'inizio del codice. Il debugger integrato per Python è noto come PDB. Fornisce tutte le capacità di debugger di cui abbiamo bisogno, ma quando vogliamo abbellirlo un po ', potremmo usare IPDB per aggiungere utilità da Ipython al debugger. Quindi definiremo il metodo aggiuntivo (). Forniamo due variabili diverse come parametri. Il passaggio seguente includerà la dichiarazione di una variabile chiamata "Ans."

Qui aggiungiamo i valori di quelle variabili, che passiamo come argomenti della funzione aggiunta (). Questo metodo restituisce la risposta. Chiamiamo il metodo set_trace (). Questa funzione è associata alla libreria PDB. Utilizziamo due volte il metodo input (); Il primo viene utilizzato per stampare la riga sullo schermo “Inserisci il 1st valore". Pertanto, quando l'utente vede questo messaggio sullo schermo, inserirà il primo valore. Una variabile denominata "L" può essere utilizzata per archiviare il valore.

Allo stesso modo, il secondo metodo input () visualizza il testo “Immettere il 2nd valore". La variabile "M" contiene questo valore. Ora è chiamato funzione aggiunta (). Questa funzione contiene due parametri. Alla fine, applichiamo il metodo Print () per visualizzare il valore risultante.

Il percorso relativo al programma, la linea in cui si trova l'istruzione di interruzione e il pacchetto è tutti riportati nel risultato. In generale, indica che il tipo di modulo del sistema ha raggiunto un punto di interruzione. Se l'istruzione di pausa viene aggiunta all'interno dello script, il suo valore può avvenire all'interno . Il blocco del codice in cui viene interrotta l'elaborazione viene visualizzato nell'output.

Esempio n. 2

Il codice sorgente viene importato dall'espressione, che quindi interrompe l'esecuzione al primo blocco del programma. Il debug post mortem richiede l'avvio dell'implementazione del programma in modalità kernel dopo l'errore, poiché ha già avuto luogo. Le utility in PDB forniscono debug post mortem. Alcune applicazioni cercano la traccia dinamica e attivano il debugger nel segmento dello stack di chiamata in cui è apparso l'errore. Ogni volta che viene rilevato un errore dall'applicazione, potremmo vedere un display PDB nel risultato dell'istanza fornita.

def moltiplica (i, j):
Ans = i * j
restituire Ans
u = input ("Immettere il primo valore:")
v = input ("Immettere il 2 ° valore:")
Res = Multiply (u, v)
Stampa (Res)

Prima di tutto, il metodo multiply () viene definito. Abbiamo dato due variabili distinte come i nostri argomenti. Abbiamo inizializzando una variabile chiamata "ANS" nel passaggio seguente. Qui, moltiplichiamo i valori delle variabili che forniamo al metodo Multiply () come argomenti. Questo approccio restituisce il risultato.

Ora, useremmo la funzione input () due volte, la prima volta che presenta l'istruzione "Immettere il primo valore" sullo schermo. Pertanto, quando l'utente vede questo testo sullo schermo, fornirà il primo valore. Una variabile denominata "u" può essere utilizzata per archiviare il valore. La seconda funzione input () mostra allo stesso modo un messaggio “Immettere il 2 ° valore."Il secondo intero deve essere preso come input. La variabile "V" contiene questo valore. Il metodo multiply () è ora invocato. I valori specificati dall'utente passano come due argomenti in questo metodo. Infine, useremo la funzione print () per mostrare il risultato.

Conclusione

In questo articolo, abbiamo parlato di come usare il debugger di Python "PDB". Il debug è un termine frequentemente utilizzato nel processo di sviluppo del software per definire il framework per identificare e fissare errori programmatici. La libreria standard per Python include il pacchetto PDB, una raccolta di strumenti per il debug del codice. Una classe PDB contiene la definizione di capacità di debug. I pacchetti BDB e CMD vengono utilizzati implicitamente dal modulo. Eseguiamo due esempi e, nel primo, utilizziamo il debugger PDB per sbarazzarci dell'eccezione. E nel secondo istanza, non avremmo usato "PDB", quindi otteniamo un errore.