Czy jest jakiś debugger, który pozwala zmienić kod Pythona podczas debugowania?zmiana kodu Pythona w debugerze
Innymi słowy: występuje wyjątek czasu pracy, debugger zatrzymuje się, zmieniam kod w dowolny sposób i mówię programowi, aby kontynuował.
Mam świadomość, że problemów z tym podejściem, tak że odniesienia do funkcji nadal wskazują na stare definicje, jeśli przedefiniować funkcję w locie, i tak dalej. Nie przeszkadza mi to, ponieważ chcę po prostu dokonać drobnych poprawek w bardzo prostych okolicznościach.
Z drugiej strony, interesuje mnie również to, czy teoretycznie możliwe jest zezwolenie na zmiany w kodzie Pythona bez napotkania tych problemów: np. Zaktualizować wszystkie odniesienia do obiektów, które się zmieniły itp. Jestem prawie Na pewno odpowiedź na drugie pytanie brzmi: nie, ale jeśli się mylę, chciałbym to wiedzieć.
EDYCJA: Jeśli mój cel (zmiana kodu interaktywnie, gdy wystąpił wyjątek, a następnie kontynuowanie wykonywania), jest możliwy do osiągnięcia bez debuggera - to też byłoby dobre. Nie potrzebuję korzystać z debuggera.
dlaczego potrzebujemy debugger? Używam Pythona już od jakiegoś czasu i nigdy nie czułem potrzeby jednego .. –
@Gabi: ponieważ debugger pozwala przeglądać zmienne, aby zobaczyć ich wartości, wykonywać funkcje w locie i sprawdzać, czy kod jest uruchamiany, a nie niż poleganie na instrukcjach drukowania. Jeśli rozwiązujesz skomplikowaną logikę lub duże ilości danych, debugery stają się nieocenione. – Jordan
@Jordan: w ciągu ostatnich 30 lat użyłem debuggera, aby znaleźć ślad stosu w pliku podstawowym C. Wszystkie rzeczy, które sugerujesz, mogą być wykonane na inne sposoby. Debugger nie jest tak naprawdę "nieoceniony". To tylko preferencja. –