PyCharm Debug

Python SELF ES
Nivel 18 , Lección 3
Disponible

9.1 Iniciar el debugger

Vamos a estudiar el proceso de depuración utilizando PyCharm, lo cual tiene sentido y es agradable. Ahora verás por qué.

En PyCharm puedes ejecutar tu programa en dos modos:

Modos de ejecución del programa Icono en la barra Atajos de teclado
Ejecución normal Shift+F10
Ejecución en modo de depuración Shift+F9

Ya estás familiarizado con el modo normal: el programa se ejecuta, trabaja y termina. Pero el modo de depuración te trae algunas sorpresas.

Modo de depuración

El modo de depuración te permite ejecutar paso a paso todo tu programa. O más correctamente, línea por línea. Puedes observar los valores de las variables en cada paso del programa (después de ejecutar cada línea de código). ¡Incluso puedes cambiarlos!

Para dominar mínimamente el arte de la depuración, necesitas aprender tres cosas:

  • Puntos de interrupción
  • Ejecución paso a paso
  • Visualización de valores de variables

9.2 Puntos de interrupción (Break Points)

El IDE te permite colocar marcas especiales en el código — puntos de interrupción (break point). Cada vez que el programa, ejecutado en modo de depuración, llega a una línea marcada como break point, se pausará.

Para establecer un break point en una línea específica, simplemente debes hacer clic en PyCharm a la izquierda de esa línea. Ejemplo:

Como resultado, la línea estará marcada con un punto de interrupción (break point), y PyCharm resaltará toda la línea en rojo:

Un segundo clic con el mouse en el panel a la izquierda del código eliminará el break point establecido.

También puedes simplemente establecer un break point en la línea actual con la combinación de teclas — Ctrl+F8. Al presionar nuevamente Ctrl+F8 en una línea donde ya hay un break point, se eliminará.

9.3 Ejecutar el programa en modo de depuración

Si en tu programa hay al menos un punto de interrupción, puedes ejecutar el programa en modo de depuración (Shift+F9 o el «icono del bug»).

Después de iniciar en modo de depuración, el programa se ejecuta como de costumbre. Pero en cuanto llega a la línea de código marcada con un break point, se pausará. Ejemplo:

En la mitad superior de la captura de pantalla ves el código del programa con dos puntos de interrupción. El programa se ha detenido en línea 2 — marcada por una línea azul. La línea 2 aún no se ha ejecutado: aún no se ha mostrado nada en la consola.

En la parte inferior de la pantalla ves los paneles del modo de depuración: el panel Thread & variables, el panel Console (para la salida en pantalla), y un conjunto de botones para el modo de depuración.

Puedes reanudar tu programa (continuar su ejecución), si presionas el botón Resume Program en el panel inferior izquierdo (o presionas la tecla F9).

Si presionas dicho botón (o F9), el programa continuará ejecutándose hasta que encuentre el siguiente punto de interrupción o termine. Esto es lo que verás después de presionar ese botón:

El programa se ha detenido en el segundo punto de interrupción, y en la consola se han mostrado las palabras "Hello" y "and" – señal de que de las tres líneas de salida, solo se han ejecutado dos.

9.4 Ejecución paso a paso

Si tu programa está en modo de depuración, también puedes ejecutarlo paso a paso: un paso — una línea. Para ejecución paso a paso existen dos atajos de teclado: F7 y F8: cada uno conduce a la ejecución de la línea de código actual. Pero primero tendrás que detener tu programa con un break point.

Si quieres ejecutar tu programa línea por línea, necesitas establecer un break point al comienzo — en la primera línea de código — y ejecutarlo en modo de depuración.

Cuando el programa se detenga, podrás comenzar la ejecución línea por línea. Una pulsación de la tecla F8 — una línea.

Así es como se verá nuestro programa después de detenerlo y presionar la tecla F8 una vez:

La primera línea — print("Hello") — ya se ha ejecutado, y la línea actual es la segunda. También puedes ver en la parte inferior de la captura que ya se ha mostrado la palabra "Hello".

9.5 Ejecución paso a paso con entrada en funciones

Si en tu programa hay funciones propias, y deseas que en el modo de depuración tu programa no solo se ejecute paso a paso, sino que también entre dentro de tus funciones, entonces para «entrar en la función» debes presionar no la tecla F8, sino la tecla F7.

Supongamos que estás ejecutando el programa paso a paso y ahora te has detenido en la línea 5. Si presionas el botón F8, PyCharm simplemente ejecutará la quinta línea y pasará a la sexta.

Pero si presionas F7, PyCharm ejecutará paso a paso la función hello():

Es muy sencillo. Si no te importa mucho lo que sucede dentro del método, presionas F8, si es importante — F7 y ejecutas todo su código paso a paso.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION