私は巨大なPerlスクリプトを持っていますが、それは何度もハングします。それが実行状態にあるとき、私はそれが現在実行しているステップを見つける必要があります。
「Devel::Trace」[コンパイル時エンティティ]は必要ありません。straceのようなものはありますか?スクリプトのpidを渡すと、実行時に何が実行されているかが表示されます。私にお知らせください。
〜マンダー。
「ステップ」とは何ですか?
あなたが言及strace
し、システムコールstrace
を追跡します。それが必要な場合は、頭を下げて使用してください。Perlでは完全に正常に動作します。strace
どのPerlステートメントが実行されているかを追跡したい場合perld
は、Perlデバッガーでスクリプトを実行できます。トレース機能があります。この関数は、簡単なインターフェイスを介してDevel::Traceによっても提供されます。
(Devel :: Traceでどのような問題があるのかわかりません。実行されるときに実行されるステートメントが表示されないことを意味しているようですが、まさにそれが実行されます。)
デバッグモジュールを使用してプログラムを再起動したり、本番環境から離れて実験できるように環境のクローンを作成したりできないコーナーで自分自身をペイントすることはお勧めできません。
実行時にデバッガーEnbugger
を挿入する前に、よく考えて、リスクの少ない対策を探してください。