2011-06-17 17 views
5

Zaczynam używać IronPython i VS2010 i mam problemy ze środowiskiem debugowania ... Czy ktoś może wskazać mi właściwy kierunek? Zauważ, że moja wiedza na temat Pythona ma mniej niż tydzień, więc moje problemy mogą być samemu sobie zadane.Żelazo Python i VS2010 debugowanie problemów

Najbardziej irytujący problem polega na tym, że gdy wystąpi wyjątek, debuger VS nie zostanie przerwany w miejscu, w którym wystąpił wyjątek, ale wydaje się, że jest uszkodzony na najwyższym poziomie. To sprawia, że ​​zorientowanie się, gdzie wystąpił wyjątek, frustrujące wykonywanie przerwania i kroczenia.

Inną uciążliwością jest podnoszenie wyjątków niestandardowych. Debugger mówi mi tylko nazwę klasy wyjątku, a nie komunikat (ale rodzime wyjątki Iron Pythona obejmują oba). Na przykład:

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

Kiedy podniesiona (np „podniesienia MyCustomError («jakieś fajne wiadomość»)”) wszystko, co mogę zobaczyć w debugger dla $ wyjątkiem jest „MyCustomError” .... kiedy ja naprawdę chciałbym aby zobaczyć nie tylko nazwę klasy, ale także wartość.

Każda pomoc zostanie doceniona !!

Odpowiedz

4

Po zainstalowaniu Python Tools for Visual Studio można uzyskać debugowanie w języku Python zamiast debugowania .NET. Wystarczy przejść do właściwości projektu na stronie Debugowanie i wybrać tryb uruchamiania Pythona. Następnie możesz skonfigurować wyjątki w oknie wyjątków debugowania.

Bez PTVS możesz poprawić swój wyjątek, przechodząc do okna wyjątków i sprawdzając, czy wyjątki .NET są zaznaczone dla wyrzuconej kolumny.

+0

Należy zauważyć, że debugowanie w Python Tools for VS * znacznie * poprawiono w wersji 1.1 (@Dino już to wie, oczywiście). –

Powiązane problemy