2013-03-05 13 views
5

często potrzebują do debugowania w moim programie Perl, niektóre z nich są bardzo duże, a nie są uruchamiane przez perl xxx.pl.Perl poprawa debug

mam użyć modułu pdb Pythona, który można ustawić punkt przerwania w programie za pomocą

pdb.set_trace() 

Po uruchomieniu do punktu program przekaże interaktywną powłokę Pythona. Potem mogę debugować. Chcę wiedzieć, że istnieje taki moduł lub metoda debugowania w Perl? Chcę również poznać inne wsparcie dla debugowania w Perlu i jego modułach.

+6

Czy sprawdziłeś ["perldoc perldebug"] (http://perldoc.perl.org/perldebug.html)? Jeśli nie, zrób to; jeśli tak, to prawdopodobnie warto o tym powiedzieć. –

Odpowiedz

1

Znalazłem moduł: Enbugger - Włącza debugger w czasie wykonywania.

o to, co było mi potrzebne.

CLASS->stop 

który może zatrzymać działanie programu i wydać powłokę debugowania.

może również załadować wiele typów debuggera, domyślnie jest to perl5db. można określić inny debugger, taki jak ten potężny jeden debugger: Devel::Trepan

+0

Jeśli nie ma powodu, aby wskazywać konkretną wersję modułu, użyj niezależnego adresu URL. [https://metacpan.org/module/Enbugger](https://metacpan.org/module/Enbugger) [http://search.cpan.org/perldoc/Enbugger](http://search.cpan. org/perldoc/Enbugger) [http://p3rl.org/Enbugger](http://p3rl.org/Enbugger) –

1

Oto dobry poradnik do debugowania Perl skrypt:

http://www.ehow.com/how_2095026_debug-perl-programs.html

perl -d yourscript.pl

ustawić punkty przerwania za pomocą polecenia "b" w sekcji kod Myślę, że są zepsute. Punkty przerwania nakazują debuggerowi przerwanie debugowania, gdy osiągnie on ten wiersz lub funkcję. Mogą być ustawione na liniach lub funkcje i mogą mieć dołączone warunki. Na przykład, aby ustawić przerwania na linii 531 ze stanu "$ a> 10", należy użyć następujące polecenie: "B 531 $ a> 10"

Uruchom program za pomocą „R " dowództwo. Spowoduje to uruchomienie programu aż do osiągnięcia punktu przerwania.