El depurador en Perl nos brinda la característica de los comandos de acción de línea , pero antes de profundizar en ellos, primero hablemos de qué son realmente las acciones: por lo tanto, una acción es básicamente una instrucción que se le da al depurador para que la ejecute cada vez que llega a una línea en particular. La razón detrás de realizar estas acciones es facilitar la depuración.
Por ejemplo
$i = 0; for($i = 0; $i <= 9; $i++) { } print($i);
Arriba hay un programa básico de for loop. Ahora, si especificamos una acción de línea en la línea 4 pidiéndole al depurador que imprima el valor de i después de cada iteración, entonces podríamos verificar si el ciclo se está ejecutando correctamente o no. Entonces, de esta manera, ayudan en la depuración.
Por lo tanto, para especificar estas acciones de línea, Perl Debugger le proporciona la función de Comandos de acción de línea . Estos comandos ayudan a especificar las acciones de línea. Los comandos de acción de línea son las declaraciones que especificamos para que se ejecuten cada vez que la ejecución del programa llega a una línea específica. Las acciones de línea más comunes son imprimir el valor de una variable y restablecer un valor incorrecto de la variable al valor deseado.
Los siguientes son los comandos de acción de línea:
- ‘un comando
- ‘Un comando
- Comando ‘<‘
- Comando ‘>’
‘un comando
El 'a' command
especifica una acción para una línea de código en particular. Esta acción puede ser cualquier comando Perl válido. La acción especificada se realizará cada vez que se ejecute la línea especificada.
Sintaxis
a line no. command to be executed [condition]
Si no se especifica ninguna línea, la acción se realiza de forma predeterminada cada vez que se ejecuta la línea actual.
Ejemplo:
Producción:
Explicación:
en el ejemplo anterior, el depurador ejecuta la línea anterior tan pronto como llega a la novena línea. Por lo tanto, el depurador mostrará la declaración anterior.
Para crear acciones de línea con varias líneas, simplemente especifique las declaraciones una tras otra. En caso de que necesite más de una línea para escribir la acción completa a realizar, use ‘\’ al final de la primera línea.
Ejemplo:
Output:
También puede especificar una condición ( es opcional ) para la ejecución de la acción. En primer lugar, se evaluará esta condición y luego, si el resultado es verdadero, solo se realizará la acción para la línea especificada; de lo contrario, no se realizará ninguna acción.
En los casos predeterminados, cuando no hay ninguna condición, el depurador considera que la condición ya es VERDADERA. Por lo tanto, la acción se realiza cada vez que la ejecución llega a la línea especificada.
Nota:
There can be only one action per line.
‘Un comando
'A' command
se utiliza para eliminar acciones de línea que se especificaron previamente con 'a' command
. Elimina la acción de línea para la línea especificada en el comando.
Sintaxis:
A lineno.;
Ejemplo:
En el ejemplo anterior, se eliminará la acción de línea especificada para la línea 11.
Tenga en cuenta que en las versiones de Perl anteriores a la 5.6.1, 'A' command
se elimina toda la acción de línea especificada.
En la versión Perl 5.6.1 y posteriores, todas las acciones se eliminan solo cuando se proporciona el asterisco como argumento.
Ejemplo
Comandos < y >
Son < and > commands
útiles cuando sabe que una de las variables tiene el valor incorrecto, pero no tiene idea de qué declaración asigna el valor incorrecto a la variable. Por lo tanto, al usar < and > command
puede imprimir el valor de una variable antes y después de la ejecución de una declaración.
< comando
El '<' command
se utiliza para especificar una acción de línea que se realizará después de que el depurador de Perl haya terminado de ejecutar las declaraciones y antes de que el depurador solicite más declaraciones de depuración.
Sintaxis:
< action to be performed;
Ejemplo:
Producción:
El comando dado en el ejemplo anterior le dice al depurador de Perl que imprima la declaración especificada antes de que detenga nuevamente la ejecución del programa y comience la depuración.
> comando
El '>' command
se usa para especificar una acción a realizar antes de ejecutar más declaraciones del código. Por lo tanto, la acción se realizará después de que se ejecute una determinada línea de código,
Sintaxis:
> action to be performed;
Ejemplo:
Producción
Para eliminar una acción especificada usando < and > command
, simplemente vuelva a ingresar el comando usado para especificar la acción.
DB<8> < ;
Esto eliminará la acción especificada usando < command
.
DB<9> > ;
Esto eliminará la acción especificada usando > command
.
Visualización de acciones de línea mediante el comando ‘L’
El 'L' command
se utiliza para mostrar puntos de interrupción, acciones y puntos de observación. De este modo, ayuda al usuario a ver qué acciones, puntos de interrupción y puntos de observación hay en el código. Ahora aprendamos cómo se usa para mostrar las acciones.
Ejemplo:
DB<3> L a;
El uso de 'L' command
para mostrar los beneficios de la acción en la depuración. Por ejemplo: Si desea eliminar una acción específica pero no sabe a qué línea corresponde. Por lo tanto, puede usar el primero 'L' command
para mostrar todas las acciones y luego usar el 'A' command
para eliminar la acción deseada.
Publicación traducida automáticamente
Artículo escrito por newtocoding y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA