Instalación de símbolos de depuración para intérpretes de Python en Visual Studio

En este artículo se indican los pasos para descargar e integrar símbolos de depuración para intérpretes de Python en Visual Studio.

Para proporcionar una experiencia de depuración completa, el depurador en modo mixto de Python en Visual Studio necesita depurar símbolos para el intérprete de Python y así analizar numerosas estructuras de datos internas. Los símbolos de depuración se definen en los archivos de la base de datos del programa (.pdb). Por ejemplo, la biblioteca python27.dll necesita el archivo de símbolos python27.pdb, la biblioteca python36.dll usa el archivo de símbolos python36.pdb, etc. Cada versión del intérprete también proporciona archivos de símbolos para varios módulos.

  • En Visual Studio 2017 y versiones posteriores, los intérpretes Python 3 y Anaconda 3 instalan automáticamente sus símbolos respectivos y Visual Studio los busca automáticamente.

  • En Visual Studio 2015 y versiones anteriores, o para otros intérpretes, debe descargar los símbolos por separado y, a continuación, apuntar Visual Studio a los archivos.

Cuando Visual Studio detecta que faltan símbolos necesarios, un cuadro de diálogo le pide que realice una acción. Normalmente, verá el cuadro de diálogo al iniciar una sesión de depuración en modo mixto. El cuadro de diálogo incluye el vínculo para Abrir cuadro de diálogo de configuración de símbolos, que abre el cuadro de diálogo Herramientas>Opciones con la pestaña Depuración>Símbolos, junto con un vínculo a este artículo de documentación.

Captura de pantalla aparece la consulta en Visual Studio para proporcionar los símbolos de depuración necesarios que faltan.

Requisitos previos

Comprobación de la versión del intérprete

Los símbolos difieren entre las compilaciones secundarias de Python y entre las compilaciones de 32 bits y 64 bits. Es importante confirmar la versión y la compilación de Python para asegurarse de que tiene los símbolos correctos para el intérprete.

Para comprobar qué intérprete de Python está en uso:

  1. En el Explorador de soluciones, expanda el nodoEntornos de Python del proyecto.

  2. Busque el nombre del entorno actual (que se muestra en negrita).

  3. Haga clic con el botón derecho en el nombre del entorno y seleccione Abrir símbolo del sistema aquí.

    Se abre una ventana del símbolo del sistema en la ubicación de instalación del entorno actual.

  4. Escriba el comando siguiente para iniciar python:

    python.exe
    

    El proceso de ejecución muestra la versión instalada de Python e indica si es de 32 o 64 bits:

    Captura de pantalla se puede ver cómo usar un símbolo del sistema abierto en la ubicación de instalación del entorno actual para detectar la versión de Python.

Descargar símbolos

En los pasos siguientes se describe cómo descargar los símbolos necesarios para un intérprete de Python.

  • Para Python 3.5 y versiones posteriores, adquiera los símbolos de depuración a través del programa de instalación de Python.

    1. Seleccione Instalación personalizada y, a continuación, seleccione Siguiente.

    2. En la página Opciones avanzadas, marque las casillas correspondientes a Descargar símbolos de depuración y Descargar archivos binarios de depuración:

      Captura de pantalla donde aparece cómo seleccionar símbolos de depuración y archivos binarios en el instalador de Python 3.x.

    Los archivos de símbolos (.pdb) se encuentran en la carpeta de instalación raíz. Los archivos de símbolos de los módulos individuales también se colocan en la carpeta DLL.

    Visual Studio busca estos símbolos automáticamente. No es necesario seguir ningún paso más.

  • En Python 3.4.x y versiones anteriores, los símbolos están disponibles como archivos .zip que se pueden descargar desde las distribuciones oficiales o desde Enthought Canopy.

    1. Descargue el archivo de símbolos necesario.

      Importante

      Asegúrese de seleccionar el archivo de símbolos correspondiente a la versión de Python y compilación instalados (32 o 64 bits).

    2. Extraiga los archivos de símbolos en una carpeta local dentro de la carpeta Python, como Símbolos.

    3. Después de extraer los archivos, el paso siguiente es Apuntar Visual Studio a los símbolos.

  • Para otras distribuciones de Python de terceros, como ActiveState Python, póngase en contacto con los autores de la distribución para solicitarles los símbolos.

    WinPython incorpora el intérprete de Python estándar sin cambios. Puedes usar símbolos de la distribución oficial de WinPython para el número de versión correspondiente.

Apuntar Visual Studio a los símbolos

Si ha descargado los símbolos por separado, siga estos pasos para hacer que Visual Studio sea consciente de ellos.

Nota:

Si ha instalado los símbolos a través del instalador de Python 3.5 o una versión posterior, Visual Studio los busca automáticamente. No es necesario completar los pasos de esta sección.

  1. Seleccione Herramientas>Opciones y abra la pestaña Depuración>Símbolos.

  2. Seleccione Agregar (símbolo más) en la barra de herramientas.

  3. Escriba la ruta de acceso a la carpeta donde extrajo los símbolos descargados. Esta ubicación es donde se encuentra el archivo python.pdb, como c:\python34\Symbols, como se puede ver en la siguiente imagen.

    Captura de pantalla donde aparecen las opciones de símbolos del depurador en modo mixto en el cuadro de diálogo Herramientas Opciones Depuración.

  4. Seleccione Aceptar.

Durante una sesión de depuración, es posible que Visual Studio también le pida la ubicación de un archivo de origen para el intérprete de Python. Si descargó archivos de origen, por ejemplo, desde python.org/downloads/, puede apuntar Visual Studio a los archivos descargados.

Opciones de almacenamiento en caché de símbolos

El cuadro de diálogo Herramientas>Opciones, Depuración>Símbolos también contiene opciones para configurar el almacenamiento en caché de símbolos. Visual Studio utiliza las características de almacenamiento en caché de símbolos para crear una caché local de símbolos obtenidos de un origen en línea.

Estas características no son necesarias con los símbolos del intérprete de Python porque ya hay símbolos presentes localmente. Para obtener más información, consulte Especificación de archivos de símbolos y de código fuente en el depurador de Visual Studio.

Acceso a descargas para distribuciones oficiales

En la tabla siguiente se muestra la información de descarga de las versiones oficiales de Python.

Versión de Python Descargas
3.5 y versiones posteriores Instale los símbolos mediante el programa de instalación de Python.
3.4.4 32 bits - 64 bits
3.4.3 32 bits - 64 bits
3.4.2 32 bits - 64 bits
3.4.1 32 bits - 64 bits
3.4.0 32 bits - 64 bits
3.3.5 32 bits - 64 bits
3.3.4 32 bits - 64 bits
3.3.3 32 bits - 64 bits
3.3.2 32 bits - 64 bits
3.3.1 32 bits - 64 bits
3.3.0 32 bits - 64 bits
2.7.18 32 bits - 64 bits
2.7.17 32 bits - 64 bits
2.7.16 32 bits - 64 bits
2.7.15 32 bits - 64 bits
2.7.14 32 bits - 64 bits
2.7.13 32 bits - 64 bits
2.7.12 32 bits - 64 bits
2.7.11 32 bits - 64 bits
2.7.10 32 bits - 64 bits
2.7.9 32 bits - 64 bits
2.7.8 32 bits - 64 bits
2.7.7 32 bits - 64 bits
2.7.6 32 bits - 64 bits
2.7.5 32 bits - 64 bits
2.7.4 32 bits - 64 bits
2.7.3 32 bits - 64 bits
2.7.2 32 bits - 64 bits
2.7.1 32 bits - 64 bits

Uso de símbolos de Enthought Canopy

Enthought Canopy ofrece símbolos de depuración para sus archivos binarios, a partir de la versión 1.2. Estos símbolos se instalan automáticamente junto con la distribución.

  • Para usar los símbolos, agregue manualmente la carpeta que contiene los símbolos a la ruta de acceso del símbolo, como se describe en Apuntar Visual Studio a los símbolos.

    Para una instalación típica por usuario de Canopy, los símbolos se encuentran en las carpetas siguientes:

    • Versión de 64 bits: %UserProfile%\AppData\Local\Enthought\Canopy\User\Scripts
    • Versión de 32 bits: %UserProfile%\AppData\Local\Enthought\Canopy32\User\Scripts

Enthought Canopy 1.1 y versiones anteriores y Enthought Python Distribution (EPD) no proporcionen símbolos de intérprete. Estas versiones no son compatibles con la depuración en modo mixto.