2012-01-19 5 views
8

私は他の誰かによって書かれたperlプログラムを持っています。私はそれを実行すると、ログファイルに何も書き込まずに静かに終了します。このPerlプログラムをステップごとにインタープリタによって1行ずつ実行し、どこで終了するかを知る方法はありますか?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

2つの方法があります。最初に、コマンドラインスイッチ "-d"を使用しているHachiとllioinが既に提供しているものがあります。

またはIDEを使用してください。私が試したと魅力

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

2

スタンドアロンperlのインタラクティブデバッガである「ptkdb」と呼ばれるPerlモジュールがありますように動作しますコモドを使用しています。それはTKのGUIを使用して動作するので、それも必要になります。

OSによっては、add some required modulesが必要です。いくつかのUNIX/Linuxシステムを実行している場合は

perl -d:ptkdb <your script> 

を使用して、それを起動し、あなたはまた、Xサーバが必要です。

関連する問題