2012-01-19 23 views
8

Tengo un programa perl escrito por otra persona. Cuando lo ejecuto, sale silenciosamente sin escribir nada en el archivo de registro. ¿Hay alguna manera de que pueda ejecutar este programa Perl paso a paso, línea por línea por el intérprete y así poder ver dónde termina?¿Cómo ejecutar un programa Perl paso a paso?

+4

perl -d inicia el depurador – Hachi

+0

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

Respuesta

21

Sí, existe el depurador Perl que puede invocar con perl -d.

La documentación se puede encontrar en perldoc perldebug y perldoc perldebtut.

Probablemente los comandos más útiles serían:

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

Gracias por esto. Me gustaría agregar que el comando 'q' se usa para salir del depurador :) –

2

Hachi tiene la respuesta, utilizar el depurador de Perl Perl ejecutando con la opción -d. Para obtener información sobre cómo usar el depurador después de iniciarlo, consulte el Perl Debugging Tutorial.

1

Hay dos formas. Primero es el que ya ha dado Hachi y llioin que está usando el modificador de línea de comandos "-d"

O usa IDE. Estoy intentado y solía Komodo que funciona como encanto

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

2

Hay un módulo de Perl llamado "ptkdb", que es un depurador interactivo Perl independiente. Funciona con la guía TK, por lo que también lo necesitarás.

Según su sistema operativo, necesitará add some required modules.

invocarlo usando

perl -d:ptkdb <your script> 

Si se ejecuta algún sistema Unix/Linux, también necesita un servidor X.

Cuestiones relacionadas