ここにある架空のモジュールのように、cpan (または外部) モジュールを使用しているとします。Stupid::CPAN::Module::OfSatan
package Stupid::CPAN::Module::OfSatan {
BEGIN { $SIG{__DIE__} = sub { print STDERR "ERROR"; exit; }; }
}
コードの後半に、非常に無害なものがあります。
package main {
eval { die 42 };
}
これにより、バグのあるシグナル ハンドラーがトリガーされます。Carp::Always
バグのあるシグナル ハンドラーが定義されている場所を知りたいので、insert a ,などの論理的な処理を行います。
package main {
use Carp::Always;
eval { die 42 };
}
Carp::Always
その後、バグのあるシグナルハンドラーをオーバーライドすると、コードが魔法のように機能します。バグのあるシグナル ハンドラーを導入するコードの場所をどのようにデバッグできますか?