2012-02-10 16 views
2

私は何度もハングする巨大なPerlスクリプトを持っています。実行状態になっているとき、私はそれを見つけ出す必要があります。
私は "Devel :: Trace" [コンパイル時のエンティティ]を望んでいません、straceのようなものがありますか?私はスクリプトのPIDを渡すことができ、実行時に何が実行されているのかがわかります。私にお知らせください。実行中のperl/pythonスクリプトが実行している現在のステップを見つけるにはどうすればよいですか?

〜 Mandar。

答えて

2

「ステップ」とは何ですか?

あなたはstracestraceトレースシステムコールを記述しました。それがあなたが望むなら、頭に行き、straceを使ってください。それはPerlで完璧に動作します。

Perlステートメントが実行されている場合は、perld、Perlデバッガーでスクリプトを実行できます。これはトレース機能を備えています。この機能は、簡単なインターフェイスを介してDevel::Traceでも提供されています。

(私はトレース。あなたは、彼らが実行され得るようステートメントを実行得るものは表示されません、それを暗示するように見える::あなたはDevelのに持っているものの問題は考えているが、それはそれはまったく同じものです。)

0

それをあなたがデバッグモジュールを使ってプログラムを再起動することも、環境を複製して生産から離れて実験することもできない場所に自分をペイントすることは悪い考えです。

実行時にinjecting the Enbugger debuggerより前に2回考えて、危険性の低い対策を検討してください。

関連する問題