perl | Comandos de acción de línea en un depurador

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:

  1. ‘un comando
  2. ‘Un comando
  3. Comando ‘<‘
  4. Comando ‘>’

‘un comando

El 'a' commandespecifica 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:
Example2

Producción:
Output1

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:

Example3
Output:

Output2

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' commandse 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:
Example4

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' commandse 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

Example5

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 > commandpuede imprimir el valor de una variable antes y después de la ejecución de una declaración.

< comando
El '<' commandse 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:
Example6

Producción:
Output3

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 '>' commandse 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:
Example7

Producción
Output4

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' commandse 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;

Output6

El uso de 'L' commandpara 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' commandpara mostrar todas las acciones y luego usar el 'A' commandpara 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *