2011-06-17 10 views
5

Estoy empezando a usar IronPython y VS2010 y tengo problemas con el entorno de depuración ... ¿alguien puede indicarme la dirección correcta? Tenga en cuenta que mi conocimiento de Python tiene menos de una semana de antigüedad, por lo que mis problemas podrían ser autoinfligidos.Problemas de depuración de Iron Python y VS2010

El problema más molesto es que cuando ocurre una excepción, el depurador VS no se rompe donde ocurrió la excepción ... sino que parece romperse en el nivel más alto. Esto hace que averiguar dónde se produjo la excepción fue un ejercicio frustrante de ruptura y escalonamiento.

Otra molestia es la creación de excepciones personalizadas. El depurador solo me dice el nombre de clase de la excepción y no el mensaje (pero las excepciones nativas de Iron Python incluyen ambas). Por ejemplo:

class MyCustomError(BaseException): 
    def __init__(self, value): 
     self.value = value 
    def __str__(self): 
     return repr(self.value) 

Cuando elevada (por ejemplo, "elevar MyCustomError ('mensaje agradable')") todo lo que puedo ver en el depurador de $ excepción es "MyCustomError" .... cuando realmente me gustaría para ver no solo el nombre de la clase sino también el valor.

¡Cualquier ayuda sería apreciada!

Respuesta

4

Si instala Python Tools for Visual Studio, puede obtener la depuración de Python en lugar de la depuración de .NET. Simplemente acceda a las propiedades del proyecto en la página Depuración y seleccione el modo de inicio de Python. Luego puede configurar excepciones en la ventana de excepciones de depuración.

Sin PTVS posiblemente pueda mejorar su experiencia de excepción yendo a la ventana de excepciones y asegurándose de que las excepciones de .NET estén marcadas para la columna arrojada.

+0

Tenga en cuenta que la depuración en Python Tools para VS es * significativamente * mejorada en 1.1 (@Dino ya lo sabe, por supuesto). –

Cuestiones relacionadas