Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo depurar Python con VS Code

Cómo depurar Python con VS Code

Configuración inicial

Configurar el comportamiento del controlador de VS Code durante una sesión de depuración. La configuración se define en el archivo launch.json, que se almacena en la carpeta .vscode del espacio de trabajo.

Nota Para cambiar la configuración de depuración, su código debe estar almacenado en una carpeta.

Para generar un archivo launch.json usando la configuración de Python, realice los siguientes pasos:

1 Seleccione el botón "Configuración" (encerrado en un círculo en la imagen de arriba) o use "Depurar". gt; abre el comando del menú Configuración.

2. El menú Configuración se abrirá desde el Panel de opciones de comando, permitiéndole seleccionar el tipo de configuración de depuración deseado para el archivo abierto.

Tenga en cuenta que sin configuración, iniciar una sesión de depuración a través del panel de depuración, F5 o Debuggt también abrirá el menú de configuración de depuración.

La extensión Python creará y abrirá un archivo launch.json que contiene una configuración predefinida basada en la configuración que seleccionó anteriormente (en este caso, un archivo Python). Puede modificar la configuración (por ejemplo, agregar parámetros) o agregar configuraciones personalizadas.

Más configuraciones

De forma predeterminada, VS Code solo muestra las configuraciones más utilizadas proporcionadas por las extensiones de Python. Puede seleccionar configuraciones adicionales para incluir en launch.json usando la lista que se muestra en el editor launch.json y el comando Agregar configuración. Al utilizar este comando, VS Code le solicita que vea una lista de todas las configuraciones disponibles (asegúrese de desplazarse hacia abajo para ver todas las opciones de Python):

Seleccione Node.js:

Durante depuración, el lado inferior izquierdo de la barra de estado muestra la configuración actual; el lado derecho muestra el intérprete de depuración actual. Al seleccionar una configuración, se mostrará una lista de la cual puede elegir una configuración diferente:

De forma predeterminada, el depurador usa la misma configuración del espacio de trabajo python.pythonPath que el resto de VS Code. Para utilizar un intérprete diferente para una depuración específica, establezca la configuración del depurador aplicable para pythonPath en launch.json, como se describe en la siguiente sección. Alternativamente, seleccione un intérprete con nombre en la barra de estado para seleccionar otro python.pythonPath actualizado.

Establecer opciones de configuración

Cuando crea launch.json por primera vez, hay dos configuraciones estándar para ejecutar ediciones en una terminal integrada (dentro de VS Code) o una terminal externa (fuera de VS Code). ) El archivo activo en el servidor para ejecutar el archivo activo:

La configuración específica se presentará en los siguientes capítulos. También puede agregar configuraciones adicionales no incluidas en la configuración estándar, como args.

Nombre

Proporcione el nombre de la configuración de depuración que aparece en la lista desplegable de VS Code.

Tipo

Determina el tipo de depurador a utilizar para el código Python.

solicitud

Especificar el modo de depuración

iniciar: especificar el programa de archivo de inicio de depuración

adjuntar: especificar el proceso de montaje de depuración

programa

Proporciona la ruta del nombre completo del módulo de entrada del programa Python (archivo de inicio). Valor: ${file}, normalmente se usa en la configuración predeterminada para usar el archivo actualmente activo en el editor. Al especificar un archivo de inicio específico, se asegura de que se utilice el mismo punto de entrada para iniciar el programa independientemente del archivo que se abra.

Por ejemplo:

"program":"/Users/Me/Projects/PokemonGo-Bot/pokemongo_bot/event_handlers/__init__.py",

También puedes confiar en la raíz del espacio de trabajo ruta relativa del directorio. Por ejemplo, si el directorio raíz es "/Users/Me/Projects/PokemonGo-Bot", puedes usarlo así

"program": "${workspaceFolder}/pokemongo_bot/event_handlers/__init__. py",

pythonPath

Apunta al intérprete de Python utilizado para la depuración, que puede ser la carpeta que contiene el intérprete de Python. Si no se especifica, esta configuración se establece de forma predeterminada en el intérprete determinado en python.pythonPath.

Alternativamente, puede usar una variable de entorno personalizada definida en cada plataforma que contenga la ruta completa al intérprete de Python. De esta manera, no hay nada adicional. Se necesitan rutas de carpeta.

args

Especifica los argumentos pasados ​​al programa Python. Cada elemento de la cadena de argumento delimitada por espacios debe estar entre comillas, por ejemplo:

"args": ["--quiet", "--norepeat", "--port", "1593 "],

stopOnEntry

Establecer esto en "verdadero" interrumpirá la primera línea del programa que está depurando el depurador. Si se omite (predeterminado) o se establece en falso, el depurador ejecutará el programa hasta el primer punto de interrupción.

consola

Especifica cómo se muestra la salida del programa.

cwd

Especifica el directorio de trabajo actual del depurador, que es la carpeta base para cualquier ruta relativa utilizada en el código. Si se omite, el valor predeterminado es el directorio de trabajo de ${workspaceFolder}vscode. Por ejemplo, ${workspaceFolder} contiene la carpeta del código Python o el archivo que contiene app.py

La configuración es la siguiente:

redirectOutput

Cuando se omite o se establece en verdadero (predeterminado), el depurador imprimirá todos los resultados del programa en la ventana de resultados de depuración de VS Code. Si se establece en falso, la salida del programa no se mostrará en la ventana de salida del depurador.

Esta opción suele estar deshabilitada cuando se usa

"console":"integratedTerminal"

o

"console":"externalTerminal"

Porque no es necesario copiar el resultado en la consola de depuración.

justMyCode

Omitido o establecido en verdadero (valor predeterminado), limita la depuración al código escrito por el usuario. Establecerlo en falso también depurará las funciones de la biblioteca estándar.

django

Puede depurar el marco de Django

env

Establece una variable de entorno opcional para el proceso del depurador, no el entorno del sistema del depurador. las variables siempre se heredan.

envFile

Una ruta opcional a un archivo que contiene definiciones de variables de entorno. Consulte Configuración del entorno Python: archivos de definición de variables de entorno.

Llamar puntos de interrupción en el código

En el código Python, puede llamar a un punto de interrupción en cualquier lugar durante una sesión de depuración cuando el depurador está en pausa.

Verificación de puntos de interrupción

La extensión Python detecta automáticamente puntos de interrupción establecidos en líneas no ejecutables, como la mitad de una declaración o una declaración de varias líneas.

En este caso, ejecutar el depurador moverá el punto de interrupción a la línea válida más cercana para garantizar que la ejecución del código se detenga en ese punto.

Adjuntar a un script local

En algunos casos, es necesario depurar un script de Python que otro proceso llama localmente. Por ejemplo, es posible que desee depurar un servidor web que ejecuta diferentes scripts de Python para tareas de procesamiento específicas. En este caso, debe adjuntar el depurador de VS Code al script después de iniciarlo:

1. Ejecute VS Code, abra la carpeta o el espacio de trabajo que contiene el script y cree un inicio para el espacio de trabajo .json. si aún no existe.

2. Agregue el siguiente contenido en el código del script y guarde el archivo:

3. Abra la terminal usando Terminal: cree una nueva terminal integrada para activar el entorno seleccionado del script. . En la terminal, use python -m pip install --upgrade ptvsd para instalar el paquete ptvsd.

4. En la terminal, inicie Python usando un script, como python3 myscript.py. Debería ver el mensaje "Esperando a que se adjunte el depurador" incluido en el código y el script se detendrá cuando se llame a ptvsd.wait_for_attach().

5. Cambie a la vista de depuración, seleccione Python: adjunte e inicie el depurador.

pythonlearning.com, ¡una plataforma gratuita para aprender Python en línea!