2012-01-19 28 views
8

Tôi có một chương trình perl được viết bởi người khác. Khi tôi chạy nó, nó âm thầm thoát ra mà không cần viết bất cứ thứ gì vào logfile. Có cách nào tôi có thể chạy chương trình Perl này từng bước, từng dòng bởi người phiên dịch và do đó có thể xem nó chấm dứt ở đâu không?Làm thế nào để chạy qua một chương trình Perl từng bước?

+4

perl -d khởi động trình gỡ lỗi – Hachi

+0

'perldoc' ['perlrun'] (http://perldoc.perl.org/perlrun.html) – Axeman

Trả lời

21

Có, có trình gỡ lỗi Perl mà bạn có thể gọi với perl -d.

Tài liệu có thể được tìm thấy trong perldoc perldebugperldoc perldebtut.

Có lẽ các lệnh hữu ích nhất sẽ là:

s     - step into current line. 
n     - step over current line. 
r     - step out of current function. 
p <expr>   - print the expression. 
b <line|subnm> - sets a breakpoint 
T     - produce a stack trace. 
c [<line|subnm>] - continue running with optional one-time breakpoint. 
h     - help (for other commands). 
+0

Cảm ơn bạn vì điều này. Tôi muốn thêm rằng lệnh 'q' được sử dụng để thoát khỏi trình gỡ rối :) –

2

Hachi có câu trả lời, sử dụng trình gỡ lỗi bằng cách chạy perl perl với cờ -d. Để biết thông tin về cách sử dụng trình gỡ lỗi trước khi bắt đầu, hãy xem Perl Debugging Tutorial.

1

Có hai cách. Đầu tiên là cái đã Hachi và llioin đưa ra đang sử dụng công tắc dòng lệnh "-d"

Hoặc sử dụng IDE. Tôi đang cố gắng và sử dụng Komodo mà hoạt động như quyến rũ

http://www.activestate.com/komodo-ide

2

Có một module perl gọi là "ptkdb", đó là một trình gỡ lỗi tương tác perl độc lập. Nó hoạt động bằng cách sử dụng TK gui vì vậy bạn sẽ cần điều đó, quá.

Tùy thuộc vào hệ điều hành của bạn, bạn cần phải add some required modules.

Gọi nó sử dụng

perl -d:ptkdb <your script> 

Nếu chạy một số hệ thống/linux unix, bạn cũng cần một máy chủ X.

Các vấn đề liên quan