2013-03-05 16 views
5

ho spesso bisogno di eseguire il debug nel mio programma Perl, alcuni di loro sono molto grandi, e non sono iniziate da perl xxx.pl.perl di debug miglioramento

devo usare il modulo pdb di Python, che può impostare un punto di interruzione nel programma utilizzando

pdb.set_trace() 

Quando si esegue il punto, il programma distribuirà una shell interattiva python. Quindi posso eseguire il debug. Voglio sapere che c'è un tale modulo di debug o un metodo in Perl? Voglio anche sapere altro supporto per il debug in Perl e nei suoi moduli.

+6

Hai controllato ['perldoc perldebug'] (http://perldoc.perl.org/perldebug.html)? Altrimenti, fallo; se ne hai, probabilmente vale la pena dirlo. –

risposta

1

Ho trovato il modulo: Enbugger - Abilita il debugger in fase di runtime.

che è quello che volevo.

CLASS->stop 

che può arrestare l'esecuzione del programma e distribuire una shell di debug.

può anche caricare molti tipi di debugger, per impostazione predefinita, è perl5db. puoi specificare altro debugger come questo potente debugger: Devel::Trepan

+0

Se non c'è una buona ragione per indicare una particolare versione del modulo, si prega di utilizzare un URL indipendente dalla versione. [https://metacpan.org/module/Enbugger](https://metacpan.org/module/Enbugger) [http://search.cpan.org/perldoc/Enbugger](http://search.cpan. org/perldoc/Enbugger) [http://p3rl.org/Enbugger](http://p3rl.org/Enbugger) –

1

Ecco un buon tutorial per il debug Perl script:

http://www.ehow.com/how_2095026_debug-perl-programs.html

perl -d yourscript.pl

Imposta punti di interruzione con il comando "b" nelle sezioni del codice che penso siano rotte. I punti di interruzione dicono al debugger di interrompere il debugging quando raggiunge quella linea o funzione. Possono essere impostati sulle linee o sulle funzioni e possono essere associate alle condizioni. Ad esempio, per impostare un punto di interruzione sulla linea 531 con la condizione di "$ a> 10", si utilizzerà il seguente comando: "b 531 $ a> 10"

Eseguire il programma, utilizzando la "r "comando. Questo eseguirà il programma fino al raggiungimento di un punto di interruzione.

Problemi correlati