私はperlとepicの両方に慣れていないので、明白なことを尋ねてすみません。私はオンラインでいくつか遊んでいましたが、何も見つかりませんでした。
デバッガーで perl プログラムを実行していますが、失敗します。失敗すると、役に立たないメッセージが表示されます。コピペもできないし、認識できない文字が多すぎて手書きもできない。次のようになります。
Debugged program terminated. use [imq[0m to quit or [1mr[om to restart,
use [1mo[0m [4minhibit_exit[24m to avoid stopping after program termination
Eclipse コンソール ウィンドウでは、角かっこがあるすべての場所が未定義の文字として表示されます。
私が得られないのは、あらゆる種類の有用なスタック トレースです。setup_ram_directories メソッドが呼び出されたことがわかります。これは、エラーが発生する前のデバッガーの最後の行であるためです。ただし、実際のエラーはスタックのより深い層で発生します。スタック トレースを取得できません。また、エラーが発生したときに Eclipse を一時停止して、エラーの原因となったメモリの状態を調べることもできません。
setup_ram_directories がヘルパー モジュールで定義されている別のモジュールで定義されたメソッドが呼び出されるたびに、EPIC が混乱することを示唆しているようです。例外をスローするモジュール内に含まれるメソッドに到達するまで、上記のメソッドにさらに踏み込んで実行すると、適切なスタック トレースが得られます。ただし、スタックの奥深くにあるエラーの場合、適切なスタック トレースを取得するポイントに到達する前に、プログラムを複数回実行して、どのメソッドとモジュールが失敗しているかを判断する必要があります。
PERL が適切なスタック トレースを提供するために必要な設定はありますか? または、変数を検査できるように、プログラムが失敗するときにデバッガーを一時停止することをお勧めします。
perl 式のビューからinhibit_exit を試してみましたが、何もしていないようです。