usarioma escribiste:¿Cómo hago una depuración de Perl desde línea de comandos?
Ejecuta el comando perl junto con la opción '-d' seguido del programa que quieres depurar:
Using bash Syntax Highlighting
perl -d programa.pl
Coloreado en 0.004 segundos, usando
GeSHi 1.0.8.4
usarioma escribiste:¿Cómo inserto los breakpoints al código?
Con el comando 'b'.
usarioma escribiste:¿Cómo veo el valor de las variables?
Con el comando 'p' sacas su valor en forma de cadena de caracteres, mientras que con el comando 'x' haces un Data::Dumper de la variable.
usarioma escribiste:¿Cómo ejecuto paso a paso?
Con el comando 'n' vas de sentencia en sentencia, sin entrar en las subrutinas. Con el comando 's' vas de sentencia en sentencia en todos los casos.
usarioma escribiste:¿Cómo le doy a continuar?
Con el comando 'c'.
usarioma escribiste:Estuve leyendo el manual de depuración desde consola, pero no le entendí nada, agregando que mi inglés es muy bajo, pues me pareció chino.
Pero... si es muy sencillo:
- Vamos a la web google.com
- En la caja de búsqueda ponemos las palabras 'perl' y 'depurador'
- Google nos devuelve referencias a páginas donde se habla de este asunto, por ejemplo, el Tutorial de JJMerelo, donde pone un pequeño ejemplo de uso del depurador.
Comprende que no podemos ayudarte escribiendo aquí un manual completo. Esto es un foro. Otra cosa es que le solicites al administrador (kidd) un manual o un artículo al respecto.
usarioma escribiste:¿Se puede hacer una depuración desde Eclipse+EPIC remotamente? O sea, depurar el Perl instalado en mi servidor.
No... porque el depurador de Eclipse necesita conectarse de forma directa con el depurador (comunicación a muy bajo nivel).
Lo más cómodo, siempre, es crearse un entorno de trabajo en tu propio ordenador, con todos los servicios que vayamos a usar. Luego, una vez que probamos que el programa funciona, lo subimos y entonces vemos en dónde falla, por estar en un ambiente distinto. Puede haber problemas con los caminos (
path), posición del intérprete perl, permisos de escritura en ciertos directorios, permisos de ejecución del programa por parte del usuario que ejecuta el servicio web, etc. etc. En esos casos, hay que usar CGI::Carp, die(), print() para saber dónde está cuando falla, warn(), Smart::Comments, y otras cosas más. Pero lo principal es que el programa funcione primero en local, ya que el desarrollo es mucho más rápido que hacerlo en remoto (salvo que tengas acceso por SSH y el enlace sea rápido).