Użyłem ipdb.set_trace()
gdzieś w moim kodzie Pythona. Czy można zignorować ten punkt przerwania za pomocą polecenia IPDB?Czy można usunąć zestaw punktów przerwań za pomocą ipdb.set_trace()?
mówi, że wyczyścił wszystkie punkty przerwania, ale IPDB zatrzymuje się ponownie, gdy natknie się na linię z ipdb.set_trace()
.
disable 1
mówi mi: No breakpoint numbered 1
ignore 1
mówi: Breakpoint index '1' is not valid
Aby wyjaśnić: Oczywiście mógłbym po prostu usunąć punkt przerwania z mojego kodu źródłowego. Ale wymagałoby to opuszczenia debuggera i ponownego uruchomienia. Często trzeba dużo pracy, aby dostać się gdzieś i ponowne uruchomienie debuggera sprawia, że życie jest trudniejsze. Również jeśli istnieje wielka pętla i chcesz sprawdzić obiekty w pętli, najłatwiej jest umieścić punkt przerwania w pętli bezpośrednio za obiektem. Jak mogłem pominąć pętlę (i wszystkie tysiące połączeń set_trace()
) i przejść przez kod po pętli, używając next
?
Punkty przerwania służą tylko do debugowania, Dobrze jest śledzić ustawienia _where_, które ustawiłeś. Lepiej rób 'grep' lub szukaj, aby dowiedzieć się, gdzie to jest. – karthikr
@karthikr Tak, oczywiście. Myślę, że źle zrozumiałeś moje pytanie. Próbowałem wyjaśnić, w jaki sposób chciałbym użyć debuggera. – lumbric