2012-01-19 54 views
8

我有一個由別人編寫的perl程序。當我運行它時,它會在沒有任何寫入日誌文件的情況下退出。有沒有一種方法可以一步一步地運行這個Perl程序,由解釋器一行一行地進行查看,然後查看它的終止位置?如何逐步運行Perl程序?

+4

perl -d啓動調試器 – Hachi

+0

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

回答

21

是的,您可以使用perl -d調用Perl調試器。

文檔可在perldoc perldebugperldoc perldebtut中找到。

可能是最有用的命令是:

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

謝謝你。我想補充一點,'q'命令用於退出調試器:) –

2

公共的蜂有答案,通過與-d標誌運行的Perl使用Perl調試。有關如何在啓動時使用調試器的信息,請參閱Perl Debugging Tutorial

1

有兩種方法。首先是已經Hachi和llioin給出的使用命令行開關「-d」

或者使用IDE。我嘗試和使用科莫多這就像魅力

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

2

有所謂的「關係不得不捨棄ptkdb」一個Perl模塊,它是一個獨立的Perl的交互式調試。它使用TK gui,所以你也需要它。

根據您的操作系統,您需要add some required modules

使用

perl -d:ptkdb <your script> 

如果運行一些Unix/Linux系統調用它,你還需要一個X服務器。