2012-01-19 10 views
8

Ho un programma perl scritto da qualcun altro. Quando lo eseguo, si chiude silenziosamente senza scrivere nulla nel file di registro. C'è un modo per eseguire questo programma Perl passo dopo passo, riga per riga dell'interprete e quindi vedere dove finisce?Come eseguire un programma Perl passo dopo passo?

+4

perl -d avvia il debugger – Hachi

+0

'perldoc' ['perlrun'] (http://perldoc.perl.org/perlrun.html) – Axeman

risposta

21

Sì, c'è il debugger Perl che è possibile richiamare con perl -d.

La documentazione è disponibile in perldoc perldebug e perldoc perldebtut.

Probabilmente i comandi più utili sarebbe:

s     - step into current line. 
n     - step over current line. 
r     - step out of current function. 
p <expr>   - print the expression. 
b <line|subnm> - sets a breakpoint 
T     - produce a stack trace. 
c [<line|subnm>] - continue running with optional one-time breakpoint. 
h     - help (for other commands). 
+0

Grazie per questo. Vorrei aggiungere che il comando 'q' è usato per uscire dal debugger :) –

2

Hachi ha la risposta, utilizzare il debugger perl eseguendo perl con il flag -d. Per informazioni su come utilizzare il debugger dopo averlo avviato, consultare Perl Debugging Tutorial.

1

Ci sono due modi. Il primo è quello che già Hachi e llioin hanno dato, che sta usando l'interruttore della riga di comando "-d"

Oppure utilizzare IDE. Sto provato e usato Komodo che funziona come fascino

http://www.activestate.com/komodo-ide

2

C'è un modulo Perl chiamato "ptkdb", che è un debugger interattivo perl standalone. Funziona con il gui TK quindi avrai bisogno anche di questo.

A seconda del sistema operativo, è necessario add some required modules.

richiamarla utilizzando

perl -d:ptkdb <your script> 

Se l'esecuzione di un qualche sistema Unix/Linux esistente, è necessario anche un X Server.

Problemi correlati